{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Started by user Mike Dawson",
          "userId" : "mike",
          "userName" : "Mike Dawson"
        }
      ]
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/main" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 54,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
            "branch" : [
              {
                "SHA1" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
                "name" : "refs/remotes/origin/main"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
            "branch" : [
              {
                "SHA1" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
                "name" : "refs/remotes/origin/main"
              }
            ]
          }
        },
        "refs/remotes/origin/dev-xapi-ipc" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 9,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "35548db75de85c0441a83620284c3f99155699c1",
            "branch" : [
              {
                "SHA1" : "35548db75de85c0441a83620284c3f99155699c1",
                "name" : "refs/remotes/origin/dev-xapi-ipc"
              }
            ]
          },
          "revision" : {
            "SHA1" : "35548db75de85c0441a83620284c3f99155699c1",
            "branch" : [
              {
                "SHA1" : "35548db75de85c0441a83620284c3f99155699c1",
                "name" : "refs/remotes/origin/dev-xapi-ipc"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
        "branch" : [
          {
            "SHA1" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
            "name" : "refs/remotes/origin/main"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/UstadMobile/Respect.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    {
      "displayPath" : "respect-cli-1.0.41.zip",
      "fileName" : "respect-cli-1.0.41.zip",
      "relativePath" : "respect-cli/build/distributions/respect-cli-1.0.41.zip"
    },
    {
      "displayPath" : "respect-server-1.0.41.zip",
      "fileName" : "respect-server-1.0.41.zip",
      "relativePath" : "respect-server/build/distributions/respect-server-1.0.41.zip"
    },
    {
      "displayPath" : "respect-server-shadow-1.0.41.zip",
      "fileName" : "respect-server-shadow-1.0.41.zip",
      "relativePath" : "respect-server/build/distributions/respect-server-shadow-1.0.41.zip"
    }
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#54",
  "duration" : 143718,
  "estimatedDuration" : 154744,
  "executor" : null,
  "fullDisplayName" : "RESPECT-Primary-MavenPublish #54",
  "id" : "54",
  "inProgress" : false,
  "keepLog" : false,
  "number" : 54,
  "queueId" : 273,
  "result" : "SUCCESS",
  "timestamp" : 1790932390799,
  "url" : "https://devserver3.ustadmobile.com/jenkins/job/RESPECT-Primary-MavenPublish/54/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
        ],
        "commitId" : "f3acd9c68e215c54cf4b734f3052c7560f5de7cb",
        "timestamp" : 1773210046000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Initial commit\u000a",
        "date" : "2026-03-11 11:50:46 +0530",
        "id" : "f3acd9c68e215c54cf4b734f3052c7560f5de7cb",
        "msg" : "Initial commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
        ],
        "commitId" : "1dab74ce9dc687cfb2f9f4a2f2557ddeb51157db",
        "timestamp" : 1773210126000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "added tab\u000a",
        "date" : "2026-03-11 11:52:06 +0530",
        "id" : "1dab74ce9dc687cfb2f9f4a2f2557ddeb51157db",
        "msg" : "added tab",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "875314a97fbe0f5dbcbc5243a903186066b6da0d",
        "timestamp" : 1773720518000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "playlist screen added\u000a",
        "date" : "2026-03-17 09:38:38 +0530",
        "id" : "875314a97fbe0f5dbcbc5243a903186066b6da0d",
        "msg" : "playlist screen added",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
        ],
        "commitId" : "40d75ac779568c00e4d723c0ea483207a9f89146",
        "timestamp" : 1773720541000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "playlist screen added\u000a",
        "date" : "2026-03-17 09:39:01 +0530",
        "id" : "40d75ac779568c00e4d723c0ea483207a9f89146",
        "msg" : "playlist screen added",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
        ],
        "commitId" : "580608493b9da19f08d4b63e14d3fe0134800c39",
        "timestamp" : 1773728227000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the myplaylist\u000a",
        "date" : "2026-03-17 11:47:07 +0530",
        "id" : "580608493b9da19f08d4b63e14d3fe0134800c39",
        "msg" : "fix the myplaylist",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/001_003_login_using_school_link_test.yaml",
          ".maestro/flows/subflows/admin_add_app.yaml",
          ".maestro/flows/002_browse_lessons_test.yaml",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html",
          ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json",
          ".maestro/flows/001_002_add_user_direct_test.yaml",
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          ".maestro/flows/subflows/admin_add_app_and_teacher.yaml",
          ".maestro/flows/subflows/school_admin_login_flow.yaml"
        ],
        "commitId" : "2f6f43e7182d8b30964a2e99eef1dec9abfaddd6",
        "timestamp" : 1773826009000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test: Update UI labels in Maestro flows and add Playlist browse test\u000a",
        "date" : "2026-03-18 13:26:49 +0400",
        "id" : "2f6f43e7182d8b30964a2e99eef1dec9abfaddd6",
        "msg" : "test: Update UI labels in Maestro flows and add Playlist browse test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_003_login_using_school_link_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_app.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/school_admin_login_flow.yaml"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_app_and_teacher.yaml"
          },
          {
            "editType" : "add",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_002_add_user_direct_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_browse_lessons_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json"
        ],
        "commitId" : "b8e87d5a025c6113d599d1f4c55b0dc997b3bb58",
        "timestamp" : 1773826041000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Add Lesson 002 to grade1.json\u000a",
        "date" : "2026-03-18 13:27:21 +0400",
        "id" : "b8e87d5a025c6113d599d1f4c55b0dc997b3bb58",
        "msg" : "Add Lesson 002 to grade1.json",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json"
        ],
        "commitId" : "0dddce7f3937a7a79477feeb87aac00f8c45c57f",
        "timestamp" : 1773827167000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Add Lesson 002 to grade1.json\u000a",
        "date" : "2026-03-18 13:46:07 +0400",
        "id" : "0dddce7f3937a7a79477feeb87aac00f8c45c57f",
        "msg" : "Add Lesson 002 to grade1.json",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_browse_lessons_test.yaml",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "7228fdf9ee643ce0e84084d239ac640c5766ec1c",
        "timestamp" : 1773837406000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "test - updated maestro flows\u000a",
        "date" : "2026-03-18 16:36:46 +0400",
        "id" : "7228fdf9ee643ce0e84084d239ac640c5766ec1c",
        "msg" : "test - updated maestro flows",
        "paths" : [
          {
            "editType" : "add",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : ".maestro/flows/002_browse_lessons_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "64a2d4db16d5854606753bd322cff9120556c606",
        "timestamp" : 1773841435000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the homescreen\u000a",
        "date" : "2026-03-18 19:13:55 +0530",
        "id" : "64a2d4db16d5854606753bd322cff9120556c606",
        "msg" : "fix the homescreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "c930eea4dc30645d6c87c6d79d58f3b12197f122",
        "timestamp" : 1773931137000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the homescreen\u000a",
        "date" : "2026-03-19 20:08:57 +0530",
        "id" : "c930eea4dc30645d6c87c6d79d58f3b12197f122",
        "msg" : "fix the homescreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt"
        ],
        "commitId" : "85425a966905dabe7c0d7778848cfe7d31ca9dc2",
        "timestamp" : 1773974447000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "added the edit screen\u000a",
        "date" : "2026-03-20 08:10:47 +0530",
        "id" : "85425a966905dabe7c0d7778848cfe7d31ca9dc2",
        "msg" : "added the edit screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
        ],
        "commitId" : "263821cc27ab97df3024c5318d2f31052bf746a1",
        "timestamp" : 1774246743000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "add share screen\u000a",
        "date" : "2026-03-23 11:49:03 +0530",
        "id" : "263821cc27ab97df3024c5318d2f31052bf746a1",
        "msg" : "add share screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
        ],
        "commitId" : "cc00308dfdfbd09db9f346bf4d8ea49ec508de67",
        "timestamp" : 1774323572000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix Playlist share screen\u000a",
        "date" : "2026-03-24 09:09:32 +0530",
        "id" : "cc00308dfdfbd09db9f346bf4d8ea49ec508de67",
        "msg" : "fix Playlist share screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
        ],
        "commitId" : "2037bc479fede5e569ed0a3b2131f466aff9609e",
        "timestamp" : 1774327037000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "added the releation link\u000a",
        "date" : "2026-03-24 10:07:17 +0530",
        "id" : "2037bc479fede5e569ed0a3b2131f466aff9609e",
        "msg" : "added the releation link",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
        ],
        "commitId" : "e1b0c5da2beb1eae41bbb076c9efc5c458898d0e",
        "timestamp" : 1774331388000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the build error\u000a",
        "date" : "2026-03-24 11:19:48 +0530",
        "id" : "e1b0c5da2beb1eae41bbb076c9efc5c458898d0e",
        "msg" : "fix the build error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "8ec867d48c5d044950ba57ca8d95635abcd5eab7",
        "timestamp" : 1774407164000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility\u000a",
        "date" : "2026-03-25 06:52:44 +0400",
        "id" : "8ec867d48c5d044950ba57ca8d95635abcd5eab7",
        "msg" : "update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "88e4dba3f10f19b75c688850e23ccec2bfe3da3f",
        "timestamp" : 1774425574000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility\u000a",
        "date" : "2026-03-25 11:59:34 +0400",
        "id" : "88e4dba3f10f19b75c688850e23ccec2bfe3da3f",
        "msg" : "update `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to include Home navigation and verify Playlists visibility",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          ".maestro/flows/001_002_add_user_direct_test.yaml"
        ],
        "commitId" : "ec5adb2e9cf84c581896e392bca250f73bdaa32c",
        "timestamp" : 1774436063000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro test flows for user and app management\u000a",
        "date" : "2026-03-25 14:54:23 +0400",
        "id" : "ec5adb2e9cf84c581896e392bca250f73bdaa32c",
        "msg" : "Update Maestro test flows for user and app management",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_002_add_user_direct_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/001_005_add_school_self_registration_test.yaml",
          ".maestro/flows/001_002_add_user_direct_test.yaml"
        ],
        "commitId" : "d856a57d1a0cbac59cc379b891aa89043a690235",
        "timestamp" : 1774438771000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro test flows to reflect UI change from \"Apps\" to \"Home\" title text\u000a",
        "date" : "2026-03-25 15:39:31 +0400",
        "id" : "d856a57d1a0cbac59cc379b891aa89043a690235",
        "msg" : "Update Maestro test flows to reflect UI change from \"Apps\" to \"Home\" title text",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_005_add_school_self_registration_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_002_add_user_direct_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "7bb4dd1529b6c4c34438035e21aeb1989de5e1e6",
        "timestamp" : 1774438933000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to match UI text change for playlist creation.\u000a",
        "date" : "2026-03-25 15:42:13 +0400",
        "id" : "7bb4dd1529b6c4c34438035e21aeb1989de5e1e6",
        "msg" : "Updated `002_user_add_apps_playlists_bookmarks_test.yaml` Maestro flow to match UI text change for playlist creation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
        ],
        "commitId" : "d29cb262b304057688bda325188896e9f1572ad0",
        "timestamp" : 1774444646000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix test for \"home\" and added the id\u000a",
        "date" : "2026-03-25 18:47:26 +0530",
        "id" : "d29cb262b304057688bda325188896e9f1572ad0",
        "msg" : "fix test for \"home\" and added the id",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "fa64b7437e81aede55693575dd2b6b8a00a7f195",
        "timestamp" : 1774448363000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update and refine Maestro end-to-end test flows for user assignments and playlists\u000a",
        "date" : "2026-03-25 18:19:23 +0400",
        "id" : "fa64b7437e81aede55693575dd2b6b8a00a7f195",
        "msg" : "Update and refine Maestro end-to-end test flows for user assignments and playlists",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "b5f453d555913a41674a72dc9db4c5202c126dcc",
        "timestamp" : 1774520442000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the code\u000a",
        "date" : "2026-03-26 15:50:42 +0530",
        "id" : "b5f453d555913a41674a72dc9db4c5202c126dcc",
        "msg" : "fix the code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "dfbb11fe8266866c03db6bd38615617fcaf00c48",
        "timestamp" : 1774530971000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "implement playlist selection logic and improve validation in PlaylistEdit\u000a\u000a- Implement selection logic in `LearningUnitListViewModel` to allow picking specific navigation items (e.g., Grades) for playlists.\u000a- Update `LearningUnitListScreen` to highlight selected navigation items and disable the \"Select Playlist\" button until a selection is made.\u000a- Refactor `PlaylistEditViewModel` to use `UiText` for title validation errors and display a \"required field\" message.\u000a- Update UI labels and strings, changing \"Lesson/assessment\" to \"Task\" and adding required field indicators.\u000a- Adjust Maestro test flow to reflect updated navigation and UI labels.\u000a",
        "date" : "2026-03-26 18:46:11 +0530",
        "id" : "dfbb11fe8266866c03db6bd38615617fcaf00c48",
        "msg" : "implement playlist selection logic and improve validation in PlaylistEdit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
        ],
        "commitId" : "8b2e2a825e6d37ecef707b0dba3d3863d849bf0f",
        "timestamp" : 1774533712000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the test\u000a",
        "date" : "2026-03-26 19:31:52 +0530",
        "id" : "8b2e2a825e6d37ecef707b0dba3d3863d849bf0f",
        "msg" : "fix the test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
        ],
        "commitId" : "f7d30dc821ed2fca00fd73ea0759644a7b8a20eb",
        "timestamp" : 1774534177000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "update labels in AssignmentEditScreen\u000a",
        "date" : "2026-03-26 19:39:37 +0530",
        "id" : "f7d30dc821ed2fca00fd73ea0759644a7b8a20eb",
        "msg" : "update labels in AssignmentEditScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "48c4c8d4501f3ee4c0672c15c2cac286db2d33ef",
        "timestamp" : 1774539154000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "update labels in AssignmentEditScreen\u000a",
        "date" : "2026-03-26 21:02:34 +0530",
        "id" : "48c4c8d4501f3ee4c0672c15c2cac286db2d33ef",
        "msg" : "update labels in AssignmentEditScreen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "8083d5a443274b140ea22ef9b2ebf350589f3a00",
        "timestamp" : 1774544379000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the assignment to follow the flow.\u000a",
        "date" : "2026-03-26 22:29:39 +0530",
        "id" : "8083d5a443274b140ea22ef9b2ebf350589f3a00",
        "msg" : "fix the assignment to follow the flow.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json",
          "respect-server/src/main/resources/http/respect-ds/case_valid/index.json",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "c4fa61370719913d8c6e1b40c63dec00d3da3c7f",
        "timestamp" : 1774579892000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "update titles in respect-ds and adjust Maestro test assertions\u000a",
        "date" : "2026-03-27 08:21:32 +0530",
        "id" : "c4fa61370719913d8c6e1b40c63dec00d3da3c7f",
        "msg" : "update titles in respect-ds and adjust Maestro test assertions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/index.json"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
        ],
        "commitId" : "198e19d89322723e32e41d5df63ee470857c34e6",
        "timestamp" : 1774588069000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the flow.\u000a",
        "date" : "2026-03-27 10:37:49 +0530",
        "id" : "198e19d89322723e32e41d5df63ee470857c34e6",
        "msg" : "fix the flow.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "29c0b7270b53a708c924007572ad6b11c41cd724",
        "timestamp" : 1774591339000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the flow.\u000a",
        "date" : "2026-03-27 11:32:19 +0530",
        "id" : "29c0b7270b53a708c924007572ad6b11c41cd724",
        "msg" : "fix the flow.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "35702c3d6796269401935e7a0356bcf463250e9c",
        "timestamp" : 1774593135000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix the flow.\u000a",
        "date" : "2026-03-27 12:02:15 +0530",
        "id" : "35702c3d6796269401935e7a0356bcf463250e9c",
        "msg" : "fix the flow.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "c020b51fdd3557389cfc0524594c1e0055581603",
        "timestamp" : 1774601800000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactor learning unit selection and playlist editing.\u000a\u000a- Update Maestro test flows for improved playlist and section assertions.\u000a- Refactor `LearningUnitListScreen` to simplify multi-select UI and improve bottom button logic for playlist selection.\u000a- Update `LearningUnitListViewModel` to handle playlist picking mode, supporting `ReadiumLink` results and preventing multi-select of publications during playlist selection.\u000a- Improve `PlaylistEditViewModel` to correctly resolve playlist titles and navigation links when adding items to sections.\u000a- Refine section type detection in `PlaylistEditScreen` to properly distinguish between navigation and publication sections.\u000a- Remove redundant app bar state restoration calls in `PlaylistEditScreen`.\u000a",
        "date" : "2026-03-27 14:26:40 +0530",
        "id" : "c020b51fdd3557389cfc0524594c1e0055581603",
        "msg" : "Refactor learning unit selection and playlist editing.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "a3f4e5f74644f1d9d9bb1b91d0640729091e49a0",
        "timestamp" : 1774604390000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.\u000a",
        "date" : "2026-03-27 15:09:50 +0530",
        "id" : "a3f4e5f74644f1d9d9bb1b91d0640729091e49a0",
        "msg" : "Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "6635c3829a71b25306606edaf5a009aafe606080",
        "timestamp" : 1774604621000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.\u000a",
        "date" : "2026-03-27 15:13:41 +0530",
        "id" : "6635c3829a71b25306606edaf5a009aafe606080",
        "msg" : "Refactor onClickAssignSection to support optional indices and replace exceptions with early returns.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "2047444347fcccefe9b35e34b80641ad6f794e52",
        "timestamp" : 1774609080000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Assignment support\u000a",
        "date" : "2026-03-27 16:28:00 +0530",
        "id" : "2047444347fcccefe9b35e34b80641ad6f794e52",
        "msg" : "Assignment support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "ffb2b1df0be25f4c733b758c84f1eecabe3fbfa3",
        "timestamp" : 1774610164000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix assignment navigation\u000a",
        "date" : "2026-03-27 16:46:04 +0530",
        "id" : "ffb2b1df0be25f4c733b758c84f1eecabe3fbfa3",
        "msg" : "fix assignment navigation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "3fe851221009338b67708e32a6e116de489cfb0b",
        "timestamp" : 1774613727000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "update maestro test flow and fix element IDs\u000a",
        "date" : "2026-03-27 17:45:27 +0530",
        "id" : "3fe851221009338b67708e32a6e116de489cfb0b",
        "msg" : "update maestro test flow and fix element IDs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "35b286fe088742cb79ddaa32db5932359fb26038",
        "timestamp" : 1774728753000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix share\u000a",
        "date" : "2026-03-29 01:42:33 +0530",
        "id" : "35b286fe088742cb79ddaa32db5932359fb26038",
        "msg" : "fix share",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "f9f0efa7bf52de1412f44f2c2c5e867b98909e5c",
        "timestamp" : 1774764627000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "refactor assignmentedit\u000a",
        "date" : "2026-03-29 11:40:27 +0530",
        "id" : "f9f0efa7bf52de1412f44f2c2c5e867b98909e5c",
        "msg" : "refactor assignmentedit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "4669e4ff928fd37c382a0d4bdc4b1a00789a73b9",
        "timestamp" : 1774839194000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix assignment navigation\u000a",
        "date" : "2026-03-30 08:23:14 +0530",
        "id" : "4669e4ff928fd37c382a0d4bdc4b1a00789a73b9",
        "msg" : "fix assignment navigation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "650ef92d057fd7233e884749b066598e807fa43a",
        "timestamp" : 1774845461000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
          "fullName" : "mandvi.verma"
        },
        "authorEmail" : "mandvi.verma@sutara.org",
        "comment" : "update maestro test flow to hide keyboard\u000a",
        "date" : "2026-03-30 10:07:41 +0530",
        "id" : "650ef92d057fd7233e884749b066598e807fa43a",
        "msg" : "update maestro test flow to hide keyboard",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt"
        ],
        "commitId" : "e8e991241066679204db500e38e4187b1ad7011d",
        "timestamp" : 1775023507000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Add GetActiveUsernameUseCase and refactor Playlist handling\u000a",
        "date" : "2026-04-01 11:35:07 +0530",
        "id" : "e8e991241066679204db500e38e4187b1ad7011d",
        "msg" : "Add GetActiveUsernameUseCase and refactor Playlist handling",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
        ],
        "commitId" : "abc7088eee293f837c41ee15896c1474c8c3ff61",
        "timestamp" : 1775126753000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Refactor PlaylistListViewModel\u000a",
        "date" : "2026-04-02 16:15:53 +0530",
        "id" : "abc7088eee293f837c41ee15896c1474c8c3ff61",
        "msg" : "Refactor PlaylistListViewModel",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "a8ec34eb992ca5f545778899c7b8c94e1deaeb31",
        "timestamp" : 1776244733000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "initial commit\u000a",
        "date" : "2026-04-15 14:48:53 +0530",
        "id" : "a8ec34eb992ca5f545778899c7b8c94e1deaeb31",
        "msg" : "initial commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "0a3ffb13d52eba840ce9e6adbd53e1d87f2ba741",
        "timestamp" : 1776423606000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "commit\u000a",
        "date" : "2026-04-17 16:30:06 +0530",
        "id" : "0a3ffb13d52eba840ce9e6adbd53e1d87f2ba741",
        "msg" : "commit",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/cover.png"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/cover.png"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "6e3f531da23c5c70a5236dbfa75c142dad8dbbad",
        "timestamp" : 1776429801000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include testing for adding external links to playlists and clean up unused assertions.\u000a",
        "date" : "2026-04-17 16:43:21 +0400",
        "id" : "6e3f531da23c5c70a5236dbfa75c142dad8dbbad",
        "msg" : "Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include testing for adding external links to playlists and clean up unused assertions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
        ],
        "commitId" : "871718428513a5c51640ba6afc5fcd998e05b7c5",
        "timestamp" : 1776761526000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Implement ExtractWebPageMetadataUseCaseAndroid for extracting metadata from web pages\u000a",
        "date" : "2026-04-21 14:22:06 +0530",
        "id" : "871718428513a5c51640ba6afc5fcd998e05b7c5",
        "msg" : "Implement ExtractWebPageMetadataUseCaseAndroid for extracting metadata from web pages",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
        ],
        "commitId" : "87261eef0e86be96c23ba5c0338ce56c140bc97d",
        "timestamp" : 1776831802000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "App crash fix\u000a",
        "date" : "2026-04-22 09:53:22 +0530",
        "id" : "87261eef0e86be96c23ba5c0338ce56c140bc97d",
        "msg" : "App crash fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt"
        ],
        "commitId" : "dd9f97f0ffb0314be6380a84a682ab017b635621",
        "timestamp" : 1776940450000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Remove static description\u000a",
        "date" : "2026-04-23 16:04:10 +0530",
        "id" : "dd9f97f0ffb0314be6380a84a682ab017b635621",
        "msg" : "Remove static description",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "09df43e8889d532745b48ff9d7dec2511a38c273",
        "timestamp" : 1776955821000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include additional visibility assertions for lessons and sections within the Grade 1 playlist.\u000a",
        "date" : "2026-04-23 18:50:21 +0400",
        "id" : "09df43e8889d532745b48ff9d7dec2511a38c273",
        "msg" : "Update Maestro flow `002_user_add_apps_playlists_bookmarks_test.yaml` to include additional visibility assertions for lessons and sections within the Grade 1 playlist.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
        ],
        "commitId" : "072880fa5a3d46fc7db08dc2477a4c1a0edef32a",
        "timestamp" : 1776965542000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "description fix\u000a",
        "date" : "2026-04-23 23:02:22 +0530",
        "id" : "072880fa5a3d46fc7db08dc2477a4c1a0edef32a",
        "msg" : "description fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
        ],
        "commitId" : "b9b576d86598fcf470e28e0fa33d7c02f8ca511e",
        "timestamp" : 1777342911000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix metadata extraction\u000a",
        "date" : "2026-04-28 07:51:51 +0530",
        "id" : "b9b576d86598fcf470e28e0fa33d7c02f8ca511e",
        "msg" : "fix metadata extraction",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson001/lesson001.html"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
        ],
        "commitId" : "8e373d583d388fd92933666de91d3c24756e14b4",
        "timestamp" : 1777383124000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix metadata extraction remove manual string amnipulation\u000a",
        "date" : "2026-04-28 19:02:04 +0530",
        "id" : "8e373d583d388fd92933666de91d3c24756e14b4",
        "msg" : "fix metadata extraction remove manual string amnipulation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
        ],
        "commitId" : "f162f0f676db8a098b2db18355faeaa3b89663e6",
        "timestamp" : 1777383842000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "documented the callbacks\u000a",
        "date" : "2026-04-28 19:14:02 +0530",
        "id" : "f162f0f676db8a098b2db18355faeaa3b89663e6",
        "msg" : "documented the callbacks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
        ],
        "commitId" : "ab12e17d6fb941494cc297acebb0741e936cd42e",
        "timestamp" : 1777447717000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix\u000a",
        "date" : "2026-04-29 12:58:37 +0530",
        "id" : "ab12e17d6fb941494cc297acebb0741e936cd42e",
        "msg" : "fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt"
        ],
        "commitId" : "7015fb47922bc795afb65dd58ff13e5185e74b4b",
        "timestamp" : 1777518105000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "rename\u000a",
        "date" : "2026-04-30 08:31:45 +0530",
        "id" : "7015fb47922bc795afb65dd58ff13e5185e74b4b",
        "msg" : "rename",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/Externallinkeditscreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/Externallinkeditviewmodel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "9355d72978457e5038e954d5e7b4821cf169874d",
        "timestamp" : 1779258746000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix\u000a",
        "date" : "2026-05-20 12:02:26 +0530",
        "id" : "9355d72978457e5038e954d5e7b4821cf169874d",
        "msg" : "fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
        ],
        "commitId" : "b1e8e451172906b80b1f87db76c73b350e7b0238",
        "timestamp" : 1779259819000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix\u000a",
        "date" : "2026-05-20 12:20:19 +0530",
        "id" : "b1e8e451172906b80b1f87db76c73b350e7b0238",
        "msg" : "fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
        ],
        "commitId" : "8bcd3dcfe340b0015198508de3f87ccd903972bb",
        "timestamp" : 1779460935000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Clean up\u000a",
        "date" : "2026-05-22 20:12:15 +0530",
        "id" : "8bcd3dcfe340b0015198508de3f87ccd903972bb",
        "msg" : "Clean up",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/OpenExternalLinkUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
        ],
        "commitId" : "47a8dcbb6773358898f4ea11af4ab33c32f8cb78",
        "timestamp" : 1779461272000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Clean up\u000a",
        "date" : "2026-05-22 20:17:52 +0530",
        "id" : "47a8dcbb6773358898f4ea11af4ab33c32f8cb78",
        "msg" : "Clean up",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "74e819ac94fda405fe6cd605c23024ce34158da3",
        "timestamp" : 1779678544000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "refactor\u000a",
        "date" : "2026-05-25 08:39:04 +0530",
        "id" : "74e819ac94fda405fe6cd605c23024ce34158da3",
        "msg" : "refactor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
        ],
        "commitId" : "9909a4904ad7702fa2837fd88b20eb14ebc8f9a4",
        "timestamp" : 1779702904000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Refactor screen\u000a",
        "date" : "2026-05-25 15:25:04 +0530",
        "id" : "9909a4904ad7702fa2837fd88b20eb14ebc8f9a4",
        "msg" : "Refactor screen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
        ],
        "commitId" : "f11d2017d71ebedbf6a1c62dffb1a18a6c478b68",
        "timestamp" : 1780480420000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Resolve conflicts\u000a",
        "date" : "2026-06-03 15:23:40 +0530",
        "id" : "f11d2017d71ebedbf6a1c62dffb1a18a6c478b68",
        "msg" : "Resolve conflicts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "61d56428b8864d6b5ceb9fafea6b3f3c4b2ed8df",
        "timestamp" : 1783048801000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Resolve conflicts\u000a",
        "date" : "2026-07-03 08:50:01 +0530",
        "id" : "61d56428b8864d6b5ceb9fafea6b3f3c4b2ed8df",
        "msg" : "Resolve conflicts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          ".maestro/flows/subflows/admin_add_app.yaml",
          ".maestro/flows/002_browse_lessons_test.yaml",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          "respect-server/src/main/resources/http/respect-ds/case_valid/index.json"
        ],
        "commitId" : "702b2a00a18701e8a1952bb51fe1e641b64eb911",
        "timestamp" : 1783428690000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Fix\u000a",
        "date" : "2026-07-07 18:21:30 +0530",
        "id" : "702b2a00a18701e8a1952bb51fe1e641b64eb911",
        "msg" : "Fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_browse_lessons_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_app.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/index.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_browse_lessons_test.yaml"
        ],
        "commitId" : "d9600a6eaa8e4cfa452c5c1fb1ac1a8d56e6e692",
        "timestamp" : 1783428904000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Fix\u000a",
        "date" : "2026-07-07 18:25:04 +0530",
        "id" : "d9600a6eaa8e4cfa452c5c1fb1ac1a8d56e6e692",
        "msg" : "Fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_browse_lessons_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4",
          "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html"
        ],
        "commitId" : "edc1d5502f011d19890e85f7b880e088aedbc054",
        "timestamp" : 1783495540000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated test 002 with latest app-lessons\u000a",
        "date" : "2026-07-08 11:25:40 +0400",
        "id" : "edc1d5502f011d19890e85f7b880e088aedbc054",
        "msg" : "Updated test 002 with latest app-lessons",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/grade1.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/lesson002.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/grade1/lesson002/video.mp4"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          ".maestro/flows/subflows/admin_add_app.yaml"
        ],
        "commitId" : "e5e83360514dd24536616c5837793546adf3f35a",
        "timestamp" : 1783499332000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro E2E test assertions and improve tap selector reliability.\u000a",
        "date" : "2026-07-08 12:28:52 +0400",
        "id" : "e5e83360514dd24536616c5837793546adf3f35a",
        "msg" : "Update Maestro E2E test assertions and improve tap selector reliability.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_app.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
        ],
        "commitId" : "e0a9b2f13bc12b20d8dea483fb8baa0dfda0ed59",
        "timestamp" : 1784010383000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Refactor playlist list to use `ExpandableFabUiState` for creation options.\u000a",
        "date" : "2026-07-14 11:56:23 +0530",
        "id" : "e0a9b2f13bc12b20d8dea483fb8baa0dfda0ed59",
        "msg" : "Refactor playlist list to use `ExpandableFabUiState` for creation options.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt"
        ],
        "commitId" : "c9b1634267ad7f19ab9fec0f4bf8e579e8fdc9ee",
        "timestamp" : 1784013818000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Refactor GetActiveUsernameUseCase\u000a",
        "date" : "2026-07-14 12:53:38 +0530",
        "id" : "c9b1634267ad7f19ab9fec0f4bf8e579e8fdc9ee",
        "msg" : "Refactor GetActiveUsernameUseCase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
        ],
        "commitId" : "d2a44049e3eb0ab3c48e0c5be34476e82761f734",
        "timestamp" : 1784016927000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Fix EnterLinkViewModel and removed the constants.\u000a",
        "date" : "2026-07-14 13:45:27 +0530",
        "id" : "d2a44049e3eb0ab3c48e0c5be34476e82761f734",
        "msg" : "Fix EnterLinkViewModel and removed the constants.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/CreatePlaylistShareLinkUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
        ],
        "commitId" : "5773c5329499bc873dbf0c9668fb7861615ee2de",
        "timestamp" : 1784022437000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix\u000a",
        "date" : "2026-07-14 15:17:17 +0530",
        "id" : "5773c5329499bc873dbf0c9668fb7861615ee2de",
        "msg" : "fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt"
        ],
        "commitId" : "bf1507fc675170289b54f71e41eb3c8d768cf79d",
        "timestamp" : 1784033150000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Remove GetActiveUsernameUseCase\u000a",
        "date" : "2026-07-14 18:15:50 +0530",
        "id" : "bf1507fc675170289b54f71e41eb3c8d768cf79d",
        "msg" : "Remove GetActiveUsernameUseCase",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/GetActiveUsernameUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
        ],
        "commitId" : "211c8704c35624871ed0bd8f255075e39387dfb9",
        "timestamp" : 1784099849000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Refactor learning-unit selection handling in `PlaylistEditViewModel` and add documentation for result types.\u000a",
        "date" : "2026-07-15 12:47:29 +0530",
        "id" : "211c8704c35624871ed0bd8f255075e39387dfb9",
        "msg" : "Refactor learning-unit selection handling in `PlaylistEditViewModel` and add documentation for result types.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt"
        ],
        "commitId" : "6c6a36cd18a6c6825126e9c9e2205e5e4729791c",
        "timestamp" : 1784288128000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "rename from mapping to collections\u000a",
        "date" : "2026-07-17 17:05:28 +0530",
        "id" : "6c6a36cd18a6c6825126e9c9e2205e5e4729791c",
        "msg" : "rename from mapping to collections",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/share/PlaylistShareScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/mapping/share/PlaylistShareViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/mapping/externallink/ExternalLinkEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_browse_lessons_test.yaml"
        ],
        "commitId" : "7d2c75f8a9b9fdc6c359ba251e266d23daa35e91",
        "timestamp" : 1784617697000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Update Maestro browse lessons test to tap on \"Home\" instead of \"Apps\".\u000a",
        "date" : "2026-07-21 12:38:17 +0530",
        "id" : "7d2c75f8a9b9fdc6c359ba251e266d23daa35e91",
        "msg" : "Update Maestro browse lessons test to tap on \"Home\" instead of \"Apps\".",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_browse_lessons_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "9bb4fdd6df56433d3dc3ede102808c882d3a5858",
        "timestamp" : 1786349056000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Resolved the comments and move PlaylistDetail into its own files\u000a",
        "date" : "2026-08-10 13:34:16 +0530",
        "id" : "9bb4fdd6df56433d3dc3ede102808c882d3a5858",
        "msg" : "Resolved the comments and move PlaylistDetail into its own files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "1db81c02e16fc959287402d3587e47686aa410d2",
        "timestamp" : 1786349137000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Resolved the comments and move PlaylistDetail into its own files\u000a",
        "date" : "2026-08-10 13:35:37 +0530",
        "id" : "1db81c02e16fc959287402d3587e47686aa410d2",
        "msg" : "Resolved the comments and move PlaylistDetail into its own files",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
        ],
        "commitId" : "282524cdee6e128ac397fa66725a05177c8e7ef7",
        "timestamp" : 1786354535000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "fix\u000a",
        "date" : "2026-08-10 15:05:35 +0530",
        "id" : "282524cdee6e128ac397fa66725a05177c8e7ef7",
        "msg" : "fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/detail/PlaylistDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/detail/PlaylistDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt",
          "respect-lib-shared/build.gradle.kts"
        ],
        "commitId" : "53d0b05c7d345080fd10305f08963104643a1057",
        "timestamp" : 1786438461000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "refactor: extract web page metadata from Open Graph tags instead of using a WebView\u000a",
        "date" : "2026-08-11 14:24:21 +0530",
        "id" : "53d0b05c7d345080fd10305f08963104643a1057",
        "msg" : "refactor: extract web page metadata from Open Graph tags instead of using a WebView",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/externallink/ExtractWebPageMetadataUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml",
          ".maestro/flows/002_001_browse_lessons_test.yaml"
        ],
        "commitId" : "efe0b96031ea0c8519ccf84a071fb2d57f48377c",
        "timestamp" : 1786439047000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Added bookmark and playlist to one test\u000a",
        "date" : "2026-08-11 13:04:07 +0400",
        "id" : "efe0b96031ea0c8519ccf84a071fb2d57f48377c",
        "msg" : "Added bookmark and playlist to one test",
        "paths" : [
          {
            "editType" : "delete",
            "file" : ".maestro/flows/002_user_add_apps_playlists_bookmarks_test.yaml"
          },
          {
            "editType" : "add",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          },
          {
            "editType" : "delete",
            "file" : ".maestro/flows/002_001_browse_lessons_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          "ci-run-e2e-tests.sh"
        ],
        "commitId" : "8554b076a2fbae5861ad5018c419f054db722374",
        "timestamp" : 1786439278000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Added tags to test only the failed tests\u000a",
        "date" : "2026-08-11 13:07:58 +0400",
        "id" : "8554b076a2fbae5861ad5018c419f054db722374",
        "msg" : "Added tags to test only the failed tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "ci-run-e2e-tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/subflows/admin_add_class_with_members.yaml",
          ".maestro/flows/subflows/admin_add_new_teacher_to_class.yaml",
          ".maestro/flows/subflows/admin_add_new_student_to_class.yaml",
          ".maestro/flows/subflows/admin_add_class.yaml",
          ".maestro/flows/subflows/admin_add_student.yaml",
          ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
        ],
        "commitId" : "b3d157189eaa64e06aa86c7a8ce22c02f6c3d93e",
        "timestamp" : 1786441536000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated the Classes locator to its  id: \"nav_classes\"\u000a",
        "date" : "2026-08-11 13:45:36 +0400",
        "id" : "b3d157189eaa64e06aa86c7a8ce22c02f6c3d93e",
        "msg" : "Updated the Classes locator to its  id: \"nav_classes\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_new_student_to_class.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_student.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_class_with_members.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_class.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_new_teacher_to_class.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
        ],
        "commitId" : "76a48f3ff7fc548e411d80078f4ab062375ffb1c",
        "timestamp" : 1786443287000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Fix\u000a",
        "date" : "2026-08-11 15:44:47 +0530",
        "id" : "76a48f3ff7fc548e411d80078f4ab062375ffb1c",
        "msg" : "Fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
        ],
        "commitId" : "a4a7358ca631ebfa44f42a2f3e793aa9e118b2b4",
        "timestamp" : 1786446364000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "added tag\u000a",
        "date" : "2026-08-11 15:06:04 +0400",
        "id" : "a4a7358ca631ebfa44f42a2f3e793aa9e118b2b4",
        "msg" : "added tag",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml",
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
        ],
        "commitId" : "47c5d2f2bee27bebdbee47a6ec9a7482397ebac5",
        "timestamp" : 1786447730000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated test\u000a",
        "date" : "2026-08-11 15:28:50 +0400",
        "id" : "47c5d2f2bee27bebdbee47a6ec9a7482397ebac5",
        "msg" : "updated test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "b70b8deaf6198a02f8a50c983885f29a27bab894",
        "timestamp" : 1786448855000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated test id\u000a",
        "date" : "2026-08-11 15:47:35 +0400",
        "id" : "b70b8deaf6198a02f8a50c983885f29a27bab894",
        "msg" : "updated test id",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "797da502dfc983239976ada3149916f5123e24e2",
        "timestamp" : 1786448897000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated title comments\u000a",
        "date" : "2026-08-11 15:48:17 +0400",
        "id" : "797da502dfc983239976ada3149916f5123e24e2",
        "msg" : "updated title comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "1b38a1dd5b500233e5525b12fe6113f9722dbc4b",
        "timestamp" : 1786518391000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "remove the id from test file\u000a",
        "date" : "2026-08-12 12:36:31 +0530",
        "id" : "1b38a1dd5b500233e5525b12fe6113f9722dbc4b",
        "msg" : "remove the id from test file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "2cdaea0bccefe15841bf42b97d4179e26b41d94d",
        "timestamp" : 1786523588000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Fix 002_001 test file\u000a",
        "date" : "2026-08-12 14:03:08 +0530",
        "id" : "2cdaea0bccefe15841bf42b97d4179e26b41d94d",
        "msg" : "Fix 002_001 test file",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "a7858bb528ce213fb6893681ed412795cab39f03",
        "timestamp" : 1786525536000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Revert\u000a",
        "date" : "2026-08-12 14:35:36 +0530",
        "id" : "a7858bb528ce213fb6893681ed412795cab39f03",
        "msg" : "Revert",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "4ae16061b309e76da716dd8def68a406d9ce8ec7",
        "timestamp" : 1786529535000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Updated app name\u000a",
        "date" : "2026-08-12 14:12:15 +0400",
        "id" : "4ae16061b309e76da716dd8def68a406d9ce8ec7",
        "msg" : "Updated app name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt",
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
        ],
        "commitId" : "8f47f26a5766fdb86b52ac9081ea29e9ff055363",
        "timestamp" : 1786532233000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "Fix the flow\u000a",
        "date" : "2026-08-12 16:27:13 +0530",
        "id" : "8f47f26a5766fdb86b52ac9081ea29e9ff055363",
        "msg" : "Fix the flow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "4907cb57c8c52ffbde0d356b82be038bd77d0efd",
        "timestamp" : 1786536624000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "added hidekeyboard when Task is hidden by keyboard\u000a",
        "date" : "2026-08-12 16:10:24 +0400",
        "id" : "4907cb57c8c52ffbde0d356b82be038bd77d0efd",
        "msg" : "added hidekeyboard when Task is hidden by keyboard",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "5f6208ea44e2a8ed155d3522d97fef332989c82d",
        "timestamp" : 1786537993000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "updated home\u000a",
        "date" : "2026-08-12 16:33:13 +0400",
        "id" : "5f6208ea44e2a8ed155d3522d97fef332989c82d",
        "msg" : "updated home",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          "ci-run-e2e-tests.sh"
        ],
        "commitId" : "4326530d3b1064edd0cad451cd2b058bcca94f32",
        "timestamp" : 1786538916000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Clean up\u000a",
        "date" : "2026-08-12 16:48:36 +0400",
        "id" : "4326530d3b1064edd0cad451cd2b058bcca94f32",
        "msg" : "Clean up",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "ci-run-e2e-tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "5acf713cef89b616204c6cebc327e45261da58d7",
        "timestamp" : 1786610529000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Share flow updated\u000a",
        "date" : "2026-08-13 12:42:09 +0400",
        "id" : "5acf713cef89b616204c6cebc327e45261da58d7",
        "msg" : "Share flow updated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
        ],
        "commitId" : "58b19a1f5548e8d43a8a882763f47abaa76b8f24",
        "timestamp" : 1786628834000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove unnecessary FeedActionButton that was really just a duplicate of RespectQuickActionButton (went against DRY principle).\u000a",
        "date" : "2026-08-13 17:47:14 +0400",
        "id" : "58b19a1f5548e8d43a8a882763f47abaa76b8f24",
        "msg" : "Remove unnecessary FeedActionButton that was really just a duplicate of RespectQuickActionButton (went against DRY principle).",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt"
        ],
        "commitId" : "4467cb4ff388f1daa46631a38a307a673d375ba1",
        "timestamp" : 1786644397000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidyup work in progress:\u000a\u000aRefactor LearningUnitSelection to allow for multi selection.\u000aAvoid crash on assigning long lists.\u000aHandle getting xapi activity info for selecting learning units.\u000a",
        "date" : "2026-08-13 19:06:37 +0100",
        "id" : "4467cb4ff388f1daa46631a38a307a673d375ba1",
        "msg" : "Tidyup work in progress:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt"
        ],
        "commitId" : "b3b5ff1a73b252975705b52dd37ee53240c3af71",
        "timestamp" : 1786647137000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "More tidy up of learning unit list : fix selection if icons, and fix display of header icon and description.\u000a",
        "date" : "2026-08-13 19:52:17 +0100",
        "id" : "b3b5ff1a73b252975705b52dd37ee53240c3af71",
        "msg" : "More tidy up of learning unit list : fix selection if icons, and fix display of header icon and description.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
        ],
        "commitId" : "dfe364f81be88d0cfb19e81b22cc6e2a32a83e51",
        "timestamp" : 1786648104000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Hide assign button when there are no assignable publications. Padding fixes.\u000a",
        "date" : "2026-08-13 20:08:24 +0100",
        "id" : "dfe364f81be88d0cfb19e81b22cc6e2a32a83e51",
        "msg" : "Hide assign button when there are no assignable publications. Padding fixes.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
        ],
        "commitId" : "d5e3093ba8b07d22877711cc1696fa9218b4538f",
        "timestamp" : 1786676075000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
          "fullName" : "lipsa.behera"
        },
        "authorEmail" : "lipsa.behera@sutara.org",
        "comment" : "build fix\u000a",
        "date" : "2026-08-14 08:24:35 +0530",
        "id" : "d5e3093ba8b07d22877711cc1696fa9218b4538f",
        "msg" : "build fix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt"
        ],
        "commitId" : "e610feb08fe2e577932009177ab9e15c0748640a",
        "timestamp" : 1786733411000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Name learning unit list as per opds terminology\u000a",
        "date" : "2026-08-14 19:50:11 +0100",
        "id" : "e610feb08fe2e577932009177ab9e15c0748640a",
        "msg" : "Name learning unit list as per opds terminology",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/edit/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
        ],
        "commitId" : "58f0e2413459c6e374e4bded76d6942b04f702f1",
        "timestamp" : 1786888680000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Tidying up opds feed detail and edit screens. Tidyup reordering logic.\u000a",
        "date" : "2026-08-16 14:58:00 +0100",
        "id" : "58f0e2413459c6e374e4bded76d6942b04f702f1",
        "msg" : "Tidying up opds feed detail and edit screens. Tidyup reordering logic.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/edit/PlaylistEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/PlaylistEditViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt"
        ],
        "commitId" : "e50a0e5e301d03afff35387110a952a26ce5e07e",
        "timestamp" : 1786891292000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Finish splitting up OpdsFeedEdit screen into files by component. Remove passing modifier as drag handle modifier.\u000a",
        "date" : "2026-08-16 15:41:32 +0100",
        "id" : "e50a0e5e301d03afff35387110a952a26ce5e07e",
        "msg" : "Finish splitting up OpdsFeedEdit screen into files by component. Remove passing modifier as drag handle modifier.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt"
        ],
        "commitId" : "6d26c550c69f6151d7f5f6006a6485e3a2ad412f",
        "timestamp" : 1786897318000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update OpdsFeedEdit user interface to use list items instead of buttons for add section, collection link, learning item link.\u000a",
        "date" : "2026-08-16 17:21:58 +0100",
        "id" : "6d26c550c69f6151d7f5f6006a6485e3a2ad412f",
        "msg" : "Update OpdsFeedEdit user interface to use list items instead of buttons for add section, collection link, learning item link.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedItemIndex.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/SetExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt"
        ],
        "commitId" : "3e7914c436ac81358bb1d409f0243b793b43e12f",
        "timestamp" : 1786914595000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Change selection handling on OpdsFeedDetail to use indexes because the Opds spec provides no promise of providing identifiers, or that thosse identifiers will be unique.\u000a\u000aHide bottom navigation when in picker mode for opdsfeed. Hide fab buttons when in picker mode.\u000a",
        "date" : "2026-08-16 22:09:55 +0100",
        "id" : "3e7914c436ac81358bb1d409f0243b793b43e12f",
        "msg" : "Change selection handling on OpdsFeedDetail to use indexes because the Opds spec provides no promise of providing identifiers, or that thosse identifiers will be unique.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/ext/SetExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedItemIndex.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsDocument.kt"
        ],
        "commitId" : "bb23065b90ecfb762580fe39960f1976477d1580",
        "timestamp" : 1786991141000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fixes for selecting navigation feeds from OpdsFeedEdit\u000a\u000aImplement similar logic for checkbox display/handling for selecting a catalog.\u000a\u000aDelete failing PlaylistRepositoryIntegrationTest: data will be stored using xAPI, so this is obsolete anyway.\u000a",
        "date" : "2026-08-17 22:25:41 +0400",
        "id" : "bb23065b90ecfb762580fe39960f1976477d1580",
        "msg" : "Fixes for selecting navigation feeds from OpdsFeedEdit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsDocument.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
        ],
        "commitId" : "7f131744491ddc0efd6abd008ed9a076919f13ca",
        "timestamp" : 1786992077000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement support for selecting multiple feeds in OpdsFeedEdit.\u000a",
        "date" : "2026-08-17 22:41:17 +0400",
        "id" : "7f131744491ddc0efd6abd008ed9a076919f13ca",
        "msg" : "Implement support for selecting multiple feeds in OpdsFeedEdit.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "0cae67de9a6e7aa51f44f3bbb51b1910c547c23c",
        "timestamp" : 1787124069000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix making opds selections via bookmarks and collections list.\u000a",
        "date" : "2026-08-19 11:21:09 +0400",
        "id" : "0cae67de9a6e7aa51f44f3bbb51b1910c547c23c",
        "msg" : "Fix making opds selections via bookmarks and collections list.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt",
          "respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt",
          "respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt",
          "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt"
        ],
        "commitId" : "599566d5f6e120812dc17e2a961fe97c0b6fa161",
        "timestamp" : 1787129115000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor to make catalog related naming more consistent.\u000a",
        "date" : "2026-08-19 12:45:15 +0400",
        "id" : "599566d5f6e120812dc17e2a961fe97c0b6fa161",
        "msg" : "Refactor to make catalog related naming more consistent.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditGroupMenuItemButton.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsPickType.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsPublicationValidator.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/editfeed/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/PublicationsSelection.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddItemBottomSheet.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestPublicationEntityAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPublicationsSelection.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPickTypeExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsPickType.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PublicationExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditPublicationItemRow.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/Publication.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/OpdsFeedHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateLinkUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditMoveToGroupDialog.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/OpdsFeedSelection.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/OpdsFeedValidator.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/OpdsFeedSelection.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/editfeed/OpdsFeedEditNavigationItemRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/opdscatalog/detail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/bookmark/BookmarkListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditGroupMenuItemButton.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedshare/OpdsFeedShareScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditNavigationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeeddetail/OpdsFeedDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditMoveToGroupDialog.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedListItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt"
        ],
        "commitId" : "292abb05550957a6b329fd125719e69e035def73",
        "timestamp" : 1787131047000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor to make catalog related naming more consistent. Part 2\u000a",
        "date" : "2026-08-19 13:17:27 +0400",
        "id" : "292abb05550957a6b329fd125719e69e035def73",
        "msg" : "Refactor to make catalog related naming more consistent. Part 2",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/bookmark/BookmarkListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditNavigationItemRow.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/PublicationListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedGroupEditItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/bookmark/BookmarkListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddItemBottomSheet.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditGroupMenuItemButton.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/externallink/ExternalLinkEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditPublicationItemRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsGroupExt.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feededit/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditGroupMenuItemButton.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddItemBottomSheet.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/list/PlaylistListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditMoveToGroupDialog.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/PublicationListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feeddetail/OpdsFeedDetailHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/externallink/ExternalLinkEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/feeddetail/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedshare/OpdsFeedShareScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededitaddlink/OpdsFeedEditAddLinkViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditMoveToGroupDialog.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/list/PlaylistListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/playlists/collections/share/PlaylistShareScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/playlists/collections/share/PlaylistShareViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeeddetail/OpdsFeedDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditNavigationItemRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/feededit/OpdsFeedEditPublicationItemRow.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt"
        ],
        "commitId" : "75c74bbcdb51f3ad02544de3ecc5f5bd717ea701",
        "timestamp" : 1787131078000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Rename PlaylistListScreen to OpdsFeedListScreen.kt\u000a",
        "date" : "2026-08-19 13:17:58 +0400",
        "id" : "75c74bbcdb51f3ad02544de3ecc5f5bd717ea701",
        "msg" : "Rename PlaylistListScreen to OpdsFeedListScreen.kt",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/PlaylistListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
        ],
        "commitId" : "639e9f3d4fad6071d3cfe1f9fc1dd16ee5372e8d",
        "timestamp" : 1787132084000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Change terminology from \"playlists\" to \"collections\".\u000a",
        "date" : "2026-08-19 13:34:44 +0400",
        "id" : "639e9f3d4fad6071d3cfe1f9fc1dd16ee5372e8d",
        "msg" : "Change terminology from \"playlists\" to \"collections\".",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeedlist/OpdsFeedListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailHeader.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedshare/OpdsFeedShareViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeededit/OpdsFeedEditAddGroupSelectTypeBottomSheet.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "1a12113da3450281ee572d9db700f65f3c6120c3",
        "timestamp" : 1787229886000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Rename playlists to collections in Maestro test flows\u000a",
        "date" : "2026-08-20 16:44:46 +0400",
        "id" : "1a12113da3450281ee572d9db700f65f3c6120c3",
        "msg" : "Rename playlists to collections in Maestro test flows",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "ba2dfb7424848af4936b81a003a4d5f014748f98",
        "timestamp" : 1787301439000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro test flow to reflect collection copy-to-remix terminology changes\u000a",
        "date" : "2026-08-21 12:37:19 +0400",
        "id" : "ba2dfb7424848af4936b81a003a4d5f014748f98",
        "msg" : "Update Maestro test flow to reflect collection copy-to-remix terminology changes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "eb12348981b30281cf941954cb3930f8845c5a2a",
        "timestamp" : 1787549779000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update empty state message in collections flow to \"No collections yet\" in Maestro test\u000a",
        "date" : "2026-08-24 09:36:19 +0400",
        "id" : "eb12348981b30281cf941954cb3930f8845c5a2a",
        "msg" : "Update empty state message in collections flow to \"No collections yet\" in Maestro test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "bf39cab5ecd969e47fd006021c9b3bf93ea68e29",
        "timestamp" : 1787556754000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro test flow to reflect UI text changes for sections and items\u000a",
        "date" : "2026-08-24 11:32:34 +0400",
        "id" : "bf39cab5ecd969e47fd006021c9b3bf93ea68e29",
        "msg" : "Update Maestro test flow to reflect UI text changes for sections and items",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "2bc3b058abd54dcb32f58dd67d8e376f7201c46e",
        "timestamp" : 1787559604000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update Maestro user test flow (`002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml`) to fix navigation steps and screen assertions.\u000a",
        "date" : "2026-08-24 12:20:04 +0400",
        "id" : "2bc3b058abd54dcb32f58dd67d8e376f7201c46e",
        "msg" : "Update Maestro user test flow (`002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml`) to fix navigation steps and screen assertions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "1dfff6a649700f53936df5761288c8ffe7cd35d9",
        "timestamp" : 1787638103000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Update UI test expectations in `002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml` to match \"Edit collection\" text\u000a",
        "date" : "2026-08-25 10:08:23 +0400",
        "id" : "1dfff6a649700f53936df5761288c8ffe7cd35d9",
        "msg" : "Update UI test expectations in `002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml` to match \"Edit collection\" text",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "e5afba98a323628471ef4eb2c414ad215be6210f",
        "timestamp" : 1787813603000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Clean up and streamline collection-related Maestro tests\u000a\u000a- Remove outdated and commented-out collection sharing and editing test steps.\u000a- Simplify collection remix flow assertions in the test script.\u000a- Remove commented assertion for Lesson 002.\u000a",
        "date" : "2026-08-27 10:53:23 +0400",
        "id" : "e5afba98a323628471ef4eb2c414ad215be6210f",
        "msg" : "Clean up and streamline collection-related Maestro tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README_ADD_YOUR_APP.md"
        ],
        "commitId" : "8a60987a5b388511521bf52cb9fbf3ed29bd89fa",
        "timestamp" : 1788338743000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md\u000a",
        "date" : "2026-09-02 12:45:43 +0400",
        "id" : "8a60987a5b388511521bf52cb9fbf3ed29bd89fa",
        "msg" : "Fix README_ADD_YOUR_APP.md link to README_LAUNCHABLE_APP.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README_ADD_YOUR_APP.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/AGENTS.md",
          "AGENTS.md"
        ],
        "commitId" : "abb85e6dbd78321176aca3bf9c5249d16722d1a8",
        "timestamp" : 1788547140000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update AGENTS.md for main project and respect-lib-shared.\u000a",
        "date" : "2026-09-04 22:39:00 +0400",
        "id" : "abb85e6dbd78321176aca3bf9c5249d16722d1a8",
        "msg" : "Update AGENTS.md for main project and respect-lib-shared.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-shared/AGENTS.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/AGENTS.md",
          "respect-datalayer/AGENTS.md"
        ],
        "commitId" : "a0a4dd3ac37833343d14aa0112dd5e3e971d5b07",
        "timestamp" : 1788601024000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update AGENTS.md for respect-datalayer and respect-datalayer-db.\u000a",
        "date" : "2026-09-05 13:37:04 +0400",
        "id" : "a0a4dd3ac37833343d14aa0112dd5e3e971d5b07",
        "msg" : "Update AGENTS.md for respect-datalayer and respect-datalayer-db.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/AGENTS.md"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/AGENTS.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt",
          "respect-datalayer-db/AGENTS.md",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt",
          "AGENTS.md",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
        ],
        "commitId" : "dc559585e29f8e13215111b3b25763535378dcb9",
        "timestamp" : 1788625143000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of Activity Profile document storage using local database.\u000a",
        "date" : "2026-09-05 20:19:03 +0400",
        "id" : "dc559585e29f8e13215111b3b25763535378dcb9",
        "msg" : "Initial implementation of Activity Profile document storage using local database.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json"
        ],
        "commitId" : "4205e63579b8bbee151c447a65f486c1661e0dd7",
        "timestamp" : 1788625374000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of Activity Profile document storage using local database.\u000a",
        "date" : "2026-09-05 20:22:54 +0400",
        "id" : "4205e63579b8bbee151c447a65f486c1661e0dd7",
        "msg" : "Initial implementation of Activity Profile document storage using local database.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
        ],
        "commitId" : "577aee82bf7fedf9f84be8febb5b9d163a125af4",
        "timestamp" : 1788626077000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Rename DocumentParams and MultiDocParams.\u000a",
        "date" : "2026-09-05 20:34:37 +0400",
        "id" : "577aee82bf7fedf9f84be8febb5b9d163a125af4",
        "msg" : "Rename DocumentParams and MultiDocParams.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
        ],
        "commitId" : "45573cfef56405f2586ad4835917c3ff87571c4d",
        "timestamp" : 1788627046000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt\u000a",
        "date" : "2026-09-05 20:50:46 +0400",
        "id" : "45573cfef56405f2586ad4835917c3ff87571c4d",
        "msg" : "Refactor XapiActivityProfileResource.kt to be a descendant of generic XapiDocumentResource.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "respect-server/build.gradle.kts",
          "gradle/libs.versions.toml",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
        ],
        "commitId" : "251e4f854a3f454a080e2d8fbcf181948b981229",
        "timestamp" : 1788685088000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add xAPI Activity Profile route\u000a",
        "date" : "2026-09-06 12:58:08 +0400",
        "id" : "251e4f854a3f454a080e2d8fbcf181948b981229",
        "msg" : "Add xAPI Activity Profile route",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt",
          "respect-datalayer-http/AGENTS.md",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt",
          "respect-datalayer-db/AGENTS.md",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt"
        ],
        "commitId" : "87e5948c6a605bf31d88772a68c3605305888583",
        "timestamp" : 1788687103000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update AGENTS.md guidance for datalayer-db and datalayer-http.\u000a\u000aRename http resource client suffix to HttpClient for clarity.\u000a",
        "date" : "2026-09-06 13:31:43 +0400",
        "id" : "87e5948c6a605bf31d88772a68c3605305888583",
        "msg" : "Update AGENTS.md guidance for datalayer-db and datalayer-http.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttp.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttp.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/AssignmentDataSourceHttp.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt",
          "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "respect-lib-xapi-core/build.gradle.kts",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
        ],
        "commitId" : "6cfea1d7f26a34ba1984f5d39149bf196666e9c2",
        "timestamp" : 1788714465000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XapiActivityProfileResourceHttpClient implementation.\u000a",
        "date" : "2026-09-06 21:07:45 +0400",
        "id" : "6cfea1d7f26a34ba1984f5d39149bf196666e9c2",
        "msg" : "Add XapiActivityProfileResourceHttpClient implementation.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
        ],
        "commitId" : "1e82740368b233000871a26f36af06dc49a6aa83",
        "timestamp" : 1788780599000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
          "fullName" : "Pooja Ravi"
        },
        "authorEmail" : "pooja@ustadmobile.com",
        "comment" : "Enable assertions for \"Assignment Result Statement Demo\" app title in Maestro test flow\u000a",
        "date" : "2026-09-07 15:29:59 +0400",
        "id" : "1e82740368b233000871a26f36af06dc49a6aa83",
        "msg" : "Enable assertions for \"Assignment Result Statement Demo\" app title in Maestro test flow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt",
          "respect-datalayer-repository/AGENTS.md"
        ],
        "commitId" : "43a6e66b210e450437282cd6e416f17d7cb1ad73",
        "timestamp" : 1788853155000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Work in progress: add guidance on document APIs synchronizing deletions.\u000a",
        "date" : "2026-09-08 11:39:15 +0400",
        "id" : "43a6e66b210e450437282cd6e416f17d7cb1ad73",
        "msg" : "Work in progress: add guidance on document APIs synchronizing deletions.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-repository/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt",
          "respect-lib-xapi-nanohttpd/.gitignore",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt",
          "lib-xapi-ipc-shared/.gitignore",
          "respect-lib-xapi-ipc-shared/build.gradle.kts",
          "lib-xapi-core/README.md",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt",
          "respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt",
          "lib-xapi-core/README_CLASS_RECIPE.md",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt",
          "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt",
          "lib-xapi-core/README_ASSIGNMENT_RECIPE.md",
          "lib-xapi-ipc-server/proguard-rules.pro",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt",
          "respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt",
          "lib-xapi-ipc-server/.gitignore",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt",
          "respect-lib-xapi-core/README_PERMISSION_RECIPE.md",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt",
          "respect-lib-xapi-nanohttpd/build.gradle.kts",
          "lib-xapi-ipc-client/consumer-rules.pro",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt",
          "respect-lib-xapi-ipc-server/consumer-rules.pro",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt",
          "respect-lib-xapi-core/README_XAPI_OPDS.md",
          "app-android/build.gradle.kts",
          "respect-lib-xapi-ipc-client/build.gradle.kts",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt",
          "lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt",
          "lib-xapi-ipc-shared/consumer-rules.pro",
          "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt",
          "respect-lib-xapi-core/README_APPLISTING_RECIPE.md",
          "lib-xapi-ipc-client/build.gradle.kts",
          "respect-lib-xapi-ipc-server/build.gradle.kts",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt",
          "respect-lib-xapi-core/build.gradle.kts",
          "respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt",
          "lib-xapi-ipc-shared/README.md",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt",
          "lib-xapi-ipc-server/build.gradle.kts",
          "respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt",
          "respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt",
          "respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt",
          "respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml",
          "respect-lib-shared/build.gradle.kts",
          "lib-xapi-ipc-client/proguard-rules.pro",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt",
          "respect-datalayer/build.gradle.kts",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt",
          "respect-lib-xapi-ipc-client/.gitignore",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt",
          "lib-xapi-ipc-shared/proguard-rules.pro",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt",
          "lib-xapi-core/README_CLASSGROUPS_RECIPE.md",
          "lib-xapi-core/README_XAPI_OPDS.md",
          "respect-lib-xapi-ipc-shared/README.md",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt",
          "respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt",
          "lib-xapi-core/README_PERMISSION_RECIPE.md",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt",
          "respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-core/README_XAPI_SQL_QUERY.md",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt",
          "respect-lib-xapi-ipc-server/proguard-rules.pro",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt",
          "lib-xapi-ipc-client/src/main/AndroidManifest.xml",
          "respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md",
          "lib-xapi-ipc-shared/build.gradle.kts",
          "lib-xapi-ipc-shared/src/main/AndroidManifest.xml",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt",
          "respect-lib-xapi-core/README_CLASS_RECIPE.md",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt",
          "respect-lib-xapi-core/.gitignore",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt",
          "respect-lib-xapi-ipc-shared/consumer-rules.pro",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt",
          "respect-app-compose/build.gradle.kts",
          "lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt",
          "lib-xapi-nanohttpd/build.gradle.kts",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt",
          "respect-lib-xapi-core/README.md",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt",
          "respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt",
          "respect-lib-xapi-ipc-server/.gitignore",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt",
          "respect-lib-xapi-ipc-client/consumer-rules.pro",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt",
          "respect-lib-xapi-ipc-client/proguard-rules.pro",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt",
          "lib-xapi-core/README_EXTENSION_PUBLICATION.md",
          "lib-xapi-core/README_APPLISTING_RECIPE.md",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt",
          "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt",
          "respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md",
          "lib-xapi-nanohttpd/.gitignore",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt",
          "respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml",
          "lib-xapi-ipc-server/src/main/AndroidManifest.xml",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt",
          "respect-lib-cache/build.gradle.kts",
          "lib-xapi-ipc-client/.gitignore",
          "lib-xapi-core/build.gradle.kts",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-core/.gitignore",
          "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt",
          "respect-lib-xapi-ipc-shared/.gitignore",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt",
          "respect-lib-xapi-core/README_XAPI_SQL_QUERY.md",
          "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt",
          "respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt",
          "settings.gradle.kts",
          "respect-lib-xapi-ipc-shared/proguard-rules.pro",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt",
          "lib-xapi-ipc-server/consumer-rules.pro",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt",
          "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt"
        ],
        "commitId" : "c36bb3577bad1ef977ec836354220b2ba9d22dfc",
        "timestamp" : 1788853793000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update xapi module package names to follow new convention - just lib.\u000a",
        "date" : "2026-09-08 11:49:53 +0400",
        "id" : "c36bb3577bad1ef977ec836354220b2ba9d22dfc",
        "msg" : "Update xapi module package names to follow new convention - just lib.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportSeries.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_EXTENSION_PUBLICATION.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_EXTENSION_PUBLICATION.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/consumer-rules.pro"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/Indicator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_ASSIGNMENT_RECIPE.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_XAPI_SQL_QUERY.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/StatementReportRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/proguard-rules.pro"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAgent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_APPLISTING_RECIPE.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivitiesResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiAssignmentTaskProgress.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/MessageRequestSenderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiInteractionTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiExceptionExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_XAPI_OPDS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_XAPI_OPDS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiIpcClientBuilder.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-nanohttpd/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResponseHeaders.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_PERMISSION_RECIPE.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/consumer-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportPeriod.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/StringValuesExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/jvmTest/kotlin/world/respect/lib/xapi/rusticilaunch/TinCanXmlDocumentTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiRequestHeaders.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityDefinitionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_APPLISTING_RECIPE.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadMetaInfoExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/AssignmentSummary.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentsResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/DefaultIndicators.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementsResourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_XAPI_SQL_QUERY.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_CLASSGROUPS_RECIPE.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/XapiResourceProvider.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_CLASSGROUPS_RECIPE.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/consumer-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContext.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatement.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/src/androidTest/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiStatementObjectExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcTags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiContextActivities.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiVerb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-cache/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiObjectType.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/consumer-rules.pro"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_CLASS_RECIPE.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/consumer-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiActivityDefinition.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/XapiActorAndAssignmentProgress.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/README_PERMISSION_RECIPE.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementObject.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportConditionFilterOptions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiRequire.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/queryresponse/XapiSqlQueryResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonObjectExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiAssignmentProgressExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAttachment.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiAccount.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/extensions/reportoptions/ReportOptions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiContextExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-client/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiGroup.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_CLASS_RECIPE.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiStatementRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/consumer-rules.pro"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcIntent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/composites/AssignmentAndProgress.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/rusticilaunch/model/TinCanXmlDocument.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActivityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/InstrumentationTestRunner.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt",
          "lib-xapi-test/AGENTS.md",
          "settings.gradle.kts",
          "lib-xapi-test/README.md",
          "respect-datalayer-db/build.gradle.kts",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt",
          "lib-xapi-core/README.md",
          "lib-xapi-test/.gitignore",
          "gradle/libs.versions.toml",
          "lib-xapi-test/src/androidMain/AndroidManifest.xml",
          "build.gradle.kts",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt",
          "lib-xapi-test/build.gradle.kts",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt"
        ],
        "commitId" : "4b8356ac8edccff843d686ad757ccf47029c9b53",
        "timestamp" : 1788859439000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor xapi statement resource tests into lib-xapi-test\u000a",
        "date" : "2026-09-08 13:23:59 +0400",
        "id" : "4b8356ac8edccff843d686ad757ccf47029c9b53",
        "msg" : "Refactor xapi statement resource tests into lib-xapi-test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/README.md"
          },
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt",
          "app-android/src/main/AndroidManifest.xml",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt",
          "gradle.properties"
        ],
        "commitId" : "8f13aef35fa76a8a389d47f7aae91e610e324e6e",
        "timestamp" : 1788962068000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.\u000a\u000aFix PinPublicationPrepareUseCase to avoid attempting to download an intent url.\u000a",
        "date" : "2026-09-09 17:54:28 +0400",
        "id" : "8f13aef35fa76a8a389d47f7aae91e610e324e6e",
        "msg" : "Fix AndroidManifest.xml query section for launchable apps to handle when query includes host and pathPrefix.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "respect-lib-shared/src/commonMain/resources/directories/default.properties",
          "app-android/src/main/AndroidManifest.xml",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt",
          "respect-lib-shared/src/androidMain/resources/directories/default.properties",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt",
          "gradle.properties"
        ],
        "commitId" : "56e0677bd714bc6e10e3dede68d664ca17970d21",
        "timestamp" : 1788972022000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update AndroidManifest.xml to include new testing server url.\u000aMove directories/default.properties data into commonMain\u000aUpdate Login screen to show server url and location.\u000aBump version.\u000a",
        "date" : "2026-09-09 20:40:22 +0400",
        "id" : "56e0677bd714bc6e10e3dede68d664ca17970d21",
        "msg" : "Update AndroidManifest.xml to include new testing server url.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/resources/directories/default.properties"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/resources/directories/default.properties"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/build.gradle.kts"
        ],
        "commitId" : "15024741e858b809e2c0f00024094886c11e4bb7",
        "timestamp" : 1788975563000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version number\u000a",
        "date" : "2026-09-09 21:39:23 +0400",
        "id" : "15024741e858b809e2c0f00024094886c11e4bb7",
        "msg" : "Bump version number",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-test-resources/build.gradle.kts",
          "respect-lib-test/build.gradle.kts",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt",
          "respect-datalayer-http/build.gradle.kts",
          "respect-server/build.gradle.kts",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt",
          "respect-lib-util/build.gradle.kts",
          "respect-datalayer/build.gradle.kts",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-lib-dataloadstate/build.gradle.kts",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt",
          "respect-datalayer-db/build.gradle.kts",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt",
          "respect-lib-serializers/build.gradle.kts",
          "respect-lib-opds-model/build.gradle.kts",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt",
          "gradle.properties",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt",
          "respect-server/src/main/resources/openapi/openapi.yaml",
          "respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt",
          "respect-app-compose/src/jvmMain/resources/sample-feed.json",
          "respect-app-compose/src/desktopMain/resources/sample-feed.json",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt"
        ],
        "commitId" : "82241844fac122cf490228c6cdd1b4c4f8c8d97b",
        "timestamp" : 1789027836000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.\u000a\u000aRemove most usage of deprecated by getting.\u000a",
        "date" : "2026-09-10 12:10:36 +0400",
        "id" : "82241844fac122cf490228c6cdd1b4c4f8c8d97b",
        "msg" : "Remove gradle properties put there by previous AGP plugin upgrade assistants that are not needed.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-util/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/app/AppIcon.desktop.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-serializers/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-http/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/images/RespectImage.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test-resources/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/openapi/openapi.yaml"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-opds-model/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/resources/sample-feed.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/desktopMain/kotlin/world/respect/main.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-dataloadstate/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "respect-app-compose/src/jvmMain/resources/sample-feed.json"
          },
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json"
        ],
        "commitId" : "13d5b5d8793a8b8513c3c73f7ab206c23964f6cf",
        "timestamp" : 1789027852000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add 9.json database schema.\u000a",
        "date" : "2026-09-10 12:10:52 +0400",
        "id" : "13d5b5d8793a8b8513c3c73f7ab206c23964f6cf",
        "msg" : "Add 9.json database schema.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle/libs.versions.toml",
          "settings.gradle.kts"
        ],
        "commitId" : "243a1fbac1da00f207bb1cd12bbb24101f206311",
        "timestamp" : 1789028840000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update to AGP9.4\u000a",
        "date" : "2026-09-10 12:27:20 +0400",
        "id" : "243a1fbac1da00f207bb1cd12bbb24101f206311",
        "msg" : "Update to AGP9.4",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle/libs.versions.toml"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt",
          "app-android/build.gradle.kts",
          "gradle.properties"
        ],
        "commitId" : "3e13e3586a326fede7494c10f15d257af2d99d74",
        "timestamp" : 1789039879000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.\u000a",
        "date" : "2026-09-10 15:31:19 +0400",
        "id" : "3e13e3586a326fede7494c10f15d257af2d99d74",
        "msg" : "Fix display of assignments list to ensure icon is shown even after other statements for activityid are received.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-xapi-core/README_ASSIGNMENT_RECIPE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt"
        ],
        "commitId" : "a0cda72277aa552c22f36d36d56fc8d6f512b377",
        "timestamp" : 1789041071000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix display of duration for StatementDetail.\u000a",
        "date" : "2026-09-10 15:51:11 +0400",
        "id" : "a0cda72277aa552c22f36d36d56fc8d6f512b377",
        "msg" : "Fix display of duration for StatementDetail.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/build.gradle.kts",
          "gradle.properties"
        ],
        "commitId" : "bac981ed8f6a77591d1587b958844d48efc761cf",
        "timestamp" : 1789041138000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version.\u000a",
        "date" : "2026-09-10 15:52:18 +0400",
        "id" : "bac981ed8f6a77591d1587b958844d48efc761cf",
        "msg" : "Bump version.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/proguard-rules.pro",
          "app-android/build.gradle.kts",
          "gradle.properties"
        ],
        "commitId" : "79deada44cd8d64b20be58b99fec2fb09bb003e2",
        "timestamp" : 1789044795000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.\u000a\u000aSee See https://github.com/googlesamples/mlkit/issues/1018\u000a",
        "date" : "2026-09-10 16:53:15 +0400",
        "id" : "79deada44cd8d64b20be58b99fec2fb09bb003e2",
        "msg" : "Fix crash on QR code scanning screen caused by lack of proguard rules from MLKit transitive dependency.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/proguard-rules.pro"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD"
        ],
        "commitId" : "ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6",
        "timestamp" : 1789050579000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update issue template label for app catalog request\u000a",
        "date" : "2026-09-10 18:29:39 +0400",
        "id" : "ade6c5b9d2cf985a1d7a5a30db21f7b1c789b4b6",
        "msg" : "Update issue template label for app catalog request",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/AGENTS.md",
          "lib-xapi-test/AGENTS.md",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt"
        ],
        "commitId" : "e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52",
        "timestamp" : 1789125475000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor xapi activity profile resource tests into lib-xapi-test\u000a",
        "date" : "2026-09-11 15:17:55 +0400",
        "id" : "e9d7fc0cad3d4ad8c180d9f17572c57c35ae4f52",
        "msg" : "Refactor xapi activity profile resource tests into lib-xapi-test",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-core/AGENTS.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/AGENTS.md"
          },
          {
            "editType" : "edit",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt",
          "respect-datalayer-repository/AGENTS.md",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt",
          "respect-datalayer-db/AGENTS.md",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt",
          "respect-datalayer-http/README.md",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt",
          "lib-dataloadstate-ktor-server/.gitignore",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt",
          "app-android/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "respect-datalayer-http/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt",
          "respect-lib-dataloadstate/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt",
          "lib-dataloadstate-ktor-server/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt",
          "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt",
          "lib-xapi-ipc-server/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt",
          "respect-lib-test/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt",
          "respect-datalayer-repository/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt",
          "lib-datalayer-http-server/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt",
          "respect-lib-dataloadstate/.gitignore",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt",
          "respect-datalayer-db/README.md",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt",
          "lib-datalayer-http-server/.gitignore",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt",
          "respect-lib-shared-se/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt",
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt",
          "respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt",
          "lib-xapi-core/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt",
          "settings.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt",
          "respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json",
          "respect-server/build.gradle.kts",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt",
          "respect-datalayer/src/androidMain/AndroidManifest.xml",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json",
          "respect-datalayer/.gitignore",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt",
          "respect-datalayer/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt",
          "respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt",
          "respect-datalayer-db/build.gradle.kts",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt",
          "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt",
          "respect-datalayer-http/AGENTS.md",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt",
          "respect-app-compose/build.gradle.kts",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt",
          "lib-xapi-nanohttpd/build.gradle.kts",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt",
          "respect-datalayer/README.md",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt",
          "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt",
          "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt",
          "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json",
          "respect-datalayer/AGENTS.md",
          "respect-datalayer-repository/src/jvmTest/resources/logback.xml",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt",
          "respect-datalayer-repository/README.md",
          "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt",
          "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt",
          "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt",
          "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt",
          "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json",
          "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt"
        ],
        "commitId" : "220452c3694c46f98aa1ba4efcbeadb3db84ebbd",
        "timestamp" : 1789138166000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.\u000a",
        "date" : "2026-09-11 18:49:26 +0400",
        "id" : "220452c3694c46f98aa1ba4efcbeadb3db84ebbd",
        "msg" : "Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "settings.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/resources/logback.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared-se/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate-ktor-server/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStatementsResourceRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiStatementsResourceRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-http/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt",
          "lib-datalayer-repository/log/respect-server.log",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt",
          "lib-xapi-test/build.gradle.kts",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt",
          "lib-datalayer-repository/README.md",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt",
          "lib-datalayer/src/androidMain/AndroidManifest.xml",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt",
          "respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt",
          "lib-datalayer-http-client/README.md",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt",
          "lib-datalayer-http-client/log/respect-server.log",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt",
          "lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt",
          "lib-datalayer-http-client/AGENTS.md",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt",
          "lib-dataloadstate/build.gradle.kts",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json",
          "respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt",
          "lib-datalayer-db/AGENTS.md",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt",
          "lib-datalayer-repository/build.gradle.kts",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt",
          "lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt",
          "lib-datalayer-db/README.md",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt",
          "lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt",
          "lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt",
          "lib-dataloadstate/.gitignore",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt",
          "lib-datalayer-repository/src/jvmTest/resources/logback.xml",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt",
          "lib-datalayer-http-client/build.gradle.kts",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt",
          "lib-datalayer-db/build.gradle.kts",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt",
          "lib-datalayer/build.gradle.kts",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json",
          "lib-datalayer/README.md",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt",
          "lib-datalayer/.gitignore",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt",
          "lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt",
          "lib-datalayer-repository/AGENTS.md",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt",
          "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt",
          "lib-datalayer/AGENTS.md",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt",
          "respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt",
          "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json",
          "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt"
        ],
        "commitId" : "1fdee8fd227baf98d3e35e3ba67052039ade1c06",
        "timestamp" : 1789231861000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.\u000a",
        "date" : "2026-09-12 20:51:01 +0400",
        "id" : "1fdee8fd227baf98d3e35e3ba67052039ade1c06",
        "msg" : "Refactor module names. Work in progress creation of dedicated httpclient test for xapi statement resource.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/LocalModelDataSourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/GetPermissionLastModifiedUseCaseDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsGroupAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/SessionTimeAndProgressInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasskeyDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/InstantAsTimestampString.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiGroupMemberActorJoin.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/LastModifiedAndETagDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/IndicatorDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDbTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/DoorOffsetLimitRemoteMediator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/13.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsPublicationDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/group-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/ext/SchoolDirectoryEntryExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/PagingSourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/JsonObjectExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbLangMapEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasswordEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/InviteEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/XXHashUidNumberMapper.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/BaseDataSourceValidationHelper.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/LangMapEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbLangMapEntryDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiStatementExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/AuthTokenAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAssignmentResultRow.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/log/respect-server.log"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ClassAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueRunPullSyncUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoin.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectRealmDataSourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/schooldirectory/SchoolDirectoryEntryDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFacetAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/14.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrCodeBadgeDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/compatibleapps/model/RespectAppManifest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/RepositoryModelDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/simple-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSummaryResultRow.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/shared/paging/OffsetLimitHttpPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/ClassDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/InviteDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/LocalModelDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/LastModifiedAndPermission.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRoleEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsParentType.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AssignmentLearningResourceRefEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedMetadataEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassInvteModeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/WritableDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementContextActivityJoinDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolConfigEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedMetadataEntityAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Invite.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LoadParamsExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AssignmentLearningResourceRefEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/RespectUserDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolPermissionGrant.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/DataBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetPermissionLastModifiedUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsGroupEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/2.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiSubstatementAndVerbEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/resources/world/respect/datalayer/repository/opds/index.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/DateConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/TestOpdsStorage.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumLinkEntityAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PlaylistRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsPublicationDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/4.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassPermissionEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AuthToken.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassPermissionEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiSessionEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiVerbAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumSubjectEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRelatedPersonEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/9.json"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadParams.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolUrlBasedDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/pullsync/PullSyncTracker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestPersonStorage.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/7.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolPermissionGrantDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ClassDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/PullSyncTrackerDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/CheckPersonPermissionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/EnrollmentDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PagingSourceFactoryHolder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/ReadiumLinkEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonQrBadgeEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ReportDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonGenderEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/schooldirectory/SchoolDirectoryEntryDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/2.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumLinkEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/SampleXapiStatement.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityJsonDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/UuidExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Enrollment.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/InviteEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectInviteInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/domain/TestCheckPersonPermissionUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RemoteMediator2.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/IndicatorDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ext/PersonExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActorDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/GetListCommonParams.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/ClassPermission.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasskeyDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasswordDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementContextActivityJoinTypeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/InviteDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/ReportDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/MapPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/AddDefaultSchoolPermissionGrantsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/3.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFacetEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/DateConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/IndicatorEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Clazz.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/RespectSchoolDirectory.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/IPagingSourceFactory.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAssignmentResultRowAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpHeadersExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonPasskeyAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PullSyncStatusEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolConfigEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/InviteAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PermissionFlags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRoleEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/RespectAppDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsTypeConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/daos/SystemPermissionDaoCommon.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStatementEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityObjectTypeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/adapters/PersonAdapters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/JsonObjectBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolConfigSetting.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiEntityObjectTypeFlags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/WriteQueueItemAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DelegatedInvalidationPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolPermissionGrantDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/AssignmentDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/UuidExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PullSyncStatus.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimesExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/InviteExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/PersonRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/InviteDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonQrCodeBadgeDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/9.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/8.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/WriteQueueItemEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/EnrollmentAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolPermissionGrantAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/DatalayerPagingUtil.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ILangMapEntityAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/PersonPasskeyEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntityWithRoles.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpRequestBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasskeyDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ClassEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPassword.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolPermissionGrantEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementsResourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/ListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityLangMapEntryPropEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/resources/logback.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolPermissionGrantDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/Readme.txt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonQrBadgeDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/LangMapAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActorEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementObjectAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonPasskey.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/adapters/ValidationInfoAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonPasskeyEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonStatusEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/daos/NetworkValidationInfoEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/6.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonPasswordDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ReportQueryResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthenticatedUserPrincipalId.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-substatement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/ILangMapEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/EnrollmentDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/11.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/12.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/InviteStatusEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/RunPullSyncWorker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/15.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/InviteDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiGroupMemberActorJoinDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/appendix-a-long-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/likert-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonQrBadgeDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ClassDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/PersonDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/LangMapEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PullSyncStatusEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/IndicatorEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/RemoteWriteQueue.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolPermissionGrantDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityInteractionEntityPropEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/pullsync/EnqueueRunPullSyncUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/params/OrderOption.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/PermissionCheckPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityInteractionDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/ListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonPasswordEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/1.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/log/respect-server.log"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsPublicationDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryPagingSourceFactory.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/statement-with-object-statementref.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActorEntityTypeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/StatusEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/RespectAppDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/LogPrefixFunction.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/RepoWorkerConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/XapiStatementNameConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonRoleEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/ParametersBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PullSyncStatusAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiVerbDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/EmptyPagingSourceFactory.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStatementResourceAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiSerializers.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsPublicationDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityInteractionEntityPropEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/4.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/worker/WorkerExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/kotlin/org/openeel/libxapi/test/res/XapiSampleStatements.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/AssignmentAssigneeRefTypeEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/StateIdAndLastModified.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/XapiActivityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityLangMapEntryDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/xapi/StoreActivitiesUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiTimes.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/domain/CheckPersonPermissionUseCaseDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ReportDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainRemoteWriteQueueUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStatementAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasskeyAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsPublicationEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedPersonUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedMetadataEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/ActivityLangMapEntryPropEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/AuthTokenEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/BuildFlags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ReportQueryResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActorAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/ClassEntityWithPermissions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/ext/IntExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/db/opds/adapters/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/ReadiumSubjectEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolDirectoryDataSourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/matching-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/shared/paging/RepositoryOffsetLimitPagingSource2.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/5.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StateIdAndLastModified.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/EnrollmentDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/statement-with-object-actor.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/EnrollmentRoleEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/AuthTokenEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/composites/PersonListDetails.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/1.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolConfigSettingDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/ext/SchoolUrlHttpDataSourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/ReportEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/schooldirectory/SchoolDirectoryEntryDataSourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryLangMapEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonQrBadge.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/opds/adapters/TestOpdsPublicationEntityAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/RespectRedeemInviteState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryLangMapEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/ext/StatementEntityExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/writequeue/RemoteWriteQueueDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/EnrollmentExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/LangMapEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/DummySchoolConfigSettingsDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/EnqueueDrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ext/PermissionFlags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsGroupEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/10.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/sequencing-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/RespectAppDataSourceHttp.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/true-false-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/resources/world/respect/datalayer/school/xapi/model/simple-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonQrBadgeEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStatementAndJsonEntities.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/PersonPasswordDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/entities/NetworkValidationInfoEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonQrBadgeDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiSessionEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/EnrollmentEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/composite/xapi/StatementEntityAndVerb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLayerParams.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/ClassDatasourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/ReadiumSubjectEntityAdapters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonPasswordAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/group-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/networkvalidation/ExtendedDataSourceValidationHelperImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/AuthTokenProvider.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/3.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/performance-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/res/XapiStatementNameConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/EnrollmentEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/DeviceInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/ModelWithTimes.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/ExtendedDataSourceValidationHelper.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolPermissionGrantDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/SchoolPermissionGrantExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/ext/RespectAppManifestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/GetWritableRolesListUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStatementEntityJson.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/entities/ILangMapEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/commonMain/kotlin/world/respect/lib/test/res/SampleXapiStatement.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/PersonPasswordDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/DataLayerTags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/ext/PersonRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/PersonQrBadgeAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/networkvalidation/NetworkValidationInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/headers/directives/DirectivesToMap.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueWorker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/PersonRelatedPersonEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/FilterPagingSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/WriteQueueItemEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/PersonRole.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectRealmDataSourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/Readme.txt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/ReportAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityExtensionDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Report.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/jvmMain/resources/world/respect/datalayer/school/xapi/model/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/8.json"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiVerbEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityExtensionEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsPublicationEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt",
          "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt",
          "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt",
          "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt",
          "lib-dataloadstate-ktor-server/build.gradle.kts",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt",
          "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt",
          "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
        ],
        "commitId" : "a3f4579af9bd67e6a157b1002b3e0b7790f6fb81",
        "timestamp" : 1789234052000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.\u000a",
        "date" : "2026-09-12 21:27:32 +0400",
        "id" : "a3f4579af9bd67e6a157b1002b3e0b7790f6fb81",
        "msg" : "Refactor XapiStatementResourceTest to use a single abstract test for multiple implementations.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/PersonPasskeyDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/authwithpassword/GetTokenAndUserProfileWithCredentialDbImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ForbiddenException.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/exceptions/XapiException.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/EnrollmentDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/UnauthorizedException.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/HttpErrorResponseException.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/exceptions/ForbiddenException.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/shared/paging/CacheableHttpPagingSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-util/src/commonMain/kotlin/world/respect/libutil/util/throwable/ExceptionWithHttpStatusCode.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/account/passkey/VerifySignInWithPasskeyUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ForbiddenException.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/throwable/ExceptionWithHttpStatusCode.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-http-client/log/respect-server.log"
        ],
        "commitId" : "a4be79ea8447a78e29d16546cda7a1005fa910da",
        "timestamp" : 1789234392000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove test server log.\u000a",
        "date" : "2026-09-12 21:33:12 +0400",
        "id" : "a4be79ea8447a78e29d16546cda7a1005fa910da",
        "msg" : "Remove test server log.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "lib-datalayer-http-client/log/respect-server.log"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json",
          "lib-datalayer-repository/build.gradle.kts",
          "respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json",
          "lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt",
          "lib-datalayer/build.gradle.kts",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json",
          "lib-xapi-ipc-server/build.gradle.kts",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json",
          "respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json"
        ],
        "commitId" : "32f939cfb5f2d87aa51b99430ae7022ac672402f",
        "timestamp" : 1789235528000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix compilation/build\u000a",
        "date" : "2026-09-12 21:52:08 +0400",
        "id" : "32f939cfb5f2d87aa51b99430ae7022ac672402f",
        "msg" : "Fix compilation/build",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/Readme.txt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/group-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/matching-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-statementref.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/kotlin/world/respect/lib/test/res/XapiSampleStatements.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-actor.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/statement-with-object-substatement.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/jvmTest/kotlin/world/respect/datalayer/school/xapi/model/XapiStatementSerializationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/performance-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/appendix-a-long-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/true-false-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/multi-choice-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/likert-response-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/simple-statement.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-test-resources/src/androidMain/assets/xapistatements/sequencing-response-statement.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/build.gradle.kts"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt",
          "lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json",
          "lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json"
        ],
        "commitId" : "d562f7340895f9011ec5a6583f99ef71189ba4ce",
        "timestamp" : 1789235780000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix compilation/build\u000a",
        "date" : "2026-09-12 21:56:20 +0400",
        "id" : "d562f7340895f9011ec5a6583f99ef71189ba4ce",
        "msg" : "Fix compilation/build",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-multiple-responses.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-substatement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/simple-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/performance-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/likert-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement-invalid-response.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/appendix-a-long-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-actor.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/multi-choice-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/sequencing-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/group-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/Readme.txt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/true-false-response-statement.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/statement-with-object-statementref.json"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/androidMain/assets/xapistatements/matching-response-statement.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt",
          "lib-datalayer/README.md",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt",
          "lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt",
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt",
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt",
          "lib-datalayer-http-client/AGENTS.md"
        ],
        "commitId" : "0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2",
        "timestamp" : 1789303701000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes\u000a\u000aRefactor to using a shared AbstractXapiActivityProfileTest that tests both the database and http client/server implementation.\u000a",
        "date" : "2026-09-13 16:48:21 +0400",
        "id" : "0dcf23d2e6eacfaaa14a4952afd985449f3dbcc2",
        "msg" : "Use GMTDate for xAPI document timestamps and refactor activity profile HTTP routes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpResponseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocumentByteArrayImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/xapi/XapiActivityProfileRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonTest/kotlin/world/respect/lib/dataloadstate/datetime/NowInEpochSecondsTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpResponseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiActivityProfileDocumentAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/AGENTS.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/JsonExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/ext/HttpRequestBuilderExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/README.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/InstantExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/datetime/GMTDateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".gitignore"
        ],
        "commitId" : "fa76edcd0b7c47438331555e261a2542817047a5",
        "timestamp" : 1789303752000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update gitignore to ignore logs generated by unit tests running in modules.\u000a",
        "date" : "2026-09-13 16:49:12 +0400",
        "id" : "fa76edcd0b7c47438331555e261a2542817047a5",
        "msg" : "Update gitignore to ignore logs generated by unit tests running in modules.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt"
        ],
        "commitId" : "d454d5fe47aad4d78094d63af5e0f11e4d5ebb62",
        "timestamp" : 1789314120000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add embedded data source server helper and refactor xAPI HTTP client tests\u000a",
        "date" : "2026-09-13 19:42:00 +0400",
        "id" : "d454d5fe47aad4d78094d63af5e0f11e4d5ebb62",
        "msg" : "Add embedded data source server helper and refactor xAPI HTTP client tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStatementResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt"
        ],
        "commitId" : "05b241602e4a58a0ccdc1e00ac60e42f58996499",
        "timestamp" : 1789314234000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove extra time logging in WithEmbeddedDataSourceServer.kt\u000a",
        "date" : "2026-09-13 19:43:54 +0400",
        "id" : "05b241602e4a58a0ccdc1e00ac60e42f58996499",
        "msg" : "Remove extra time logging in WithEmbeddedDataSourceServer.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD"
        ],
        "commitId" : "258efbc61c11e29cd50493ce504f1bf34fe6d55c",
        "timestamp" : 1789382805000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Clarify app manifest URL requirements in issue template\u000a\u000aUpdated the template to clarify the requirement for the launchable app manifest URL and corrected the reference to the integration guide.\u000a",
        "date" : "2026-09-14 14:46:45 +0400",
        "id" : "258efbc61c11e29cd50493ce504f1bf34fe6d55c",
        "msg" : "Clarify app manifest URL requirements in issue template",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/ISSUE_TEMPLATE/add_app_to_default_catalog.MD"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt",
          "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt",
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
        ],
        "commitId" : "e424bad5d6cc8e45475203496f0e3a00e3757134",
        "timestamp" : 1789464579000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add conditional if-modified-since GET support for xAPI activity profile resources\u000a",
        "date" : "2026-09-15 13:29:39 +0400",
        "id" : "e424bad5d6cc8e45475203496f0e3a00e3757134",
        "msg" : "Add conditional if-modified-since GET support for xAPI activity profile resources",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/DataLoadMetaInfo.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/model/XapiDocument.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/ETagAndLastModifiedAsStrings.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt",
          "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt"
        ],
        "commitId" : "c1c136ac127a8991dc153daf8689c73e7f199b2a",
        "timestamp" : 1789476714000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Support ETag validation and SHA-1 caching for xAPI activity profile documents.\u000a",
        "date" : "2026-09-15 16:51:54 +0400",
        "id" : "c1c136ac127a8991dc153daf8689c73e7f199b2a",
        "msg" : "Support ETag validation and SHA-1 caching for xAPI activity profile documents.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiActivityProfileDocumentAndShaEntities.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate-ktor-server/src/commonMain/kotlin/world/respect/lib/dataloadstate/ktorserver/ApplicationCallExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
        ],
        "commitId" : "afab3fd1f76c527cfce39689a35b0a7e57c91405",
        "timestamp" : 1789557692000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core\u000a",
        "date" : "2026-09-16 15:21:32 +0400",
        "id" : "afab3fd1f76c527cfce39689a35b0a7e57c91405",
        "msg" : "Add XAPI remote write queue interfaces and move local xAPI resource interfaces to lib-xapi-core",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueue.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiAgentsResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStatementResourceHttpClientTest.kt"
          },
          {
            "editType" : "add",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiActivitiesResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/EnqueueDrainRemoteWriteQueueUseCaseChannel.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiStatementsResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/util/FileExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivitiesResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/StringValuesExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStatementsResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivitiesResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentsResourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiActivityProfileResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentsResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStatementsResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/xapi/XapiResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/WithEmbeddedDataSourceServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt",
          "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
        ],
        "commitId" : "d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4",
        "timestamp" : 1789575164000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement XapiRemoteWriteQueue database storage and repository integration\u000a",
        "date" : "2026-09-16 20:12:44 +0400",
        "id" : "d013c6b8ed231d55e0cfc53a31ce94cc93ce98c4",
        "msg" : "Implement XapiRemoteWriteQueue database storage and repository integration",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/writequeue/XapiRemoteWriteQueueDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiRemoteWriteQueueItemEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/ext/HttpClientExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementsResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiRemoteWriteQueueItemAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolTypeConverters.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueXapiUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/EnqueueDrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt"
          },
          {
            "editType" : "edit",
            "file" : "respect-lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiRemoteWriteQueueItemEntityDao.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt"
        ],
        "commitId" : "2d04d961dc60a83d4dfc89c007f2c065af919f93",
        "timestamp" : 1789577713000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients\u000a",
        "date" : "2026-09-16 20:55:13 +0400",
        "id" : "2d04d961dc60a83d4dfc89c007f2c065af919f93",
        "msg" : "Update XapiStatementRepositoryIntegrationTest to use embedded server and repo clients",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/16.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
        ],
        "commitId" : "660d9c447d17a594d894a0ae82299feb2c23cbf7",
        "timestamp" : 1789579142000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial working implementation of XapiActivityProfileResourceRepository.\u000a",
        "date" : "2026-09-16 21:19:02 +0400",
        "id" : "660d9c447d17a594d894a0ae82299feb2c23cbf7",
        "msg" : "Initial working implementation of XapiActivityProfileResourceRepository.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt",
          "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt"
        ],
        "commitId" : "0260997a7fbac331cc4f6cc797ecbe6425bee694",
        "timestamp" : 1789631928000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Android worker and Koin bindings for draining xAPI remote write queue\u000a",
        "date" : "2026-09-17 11:58:48 +0400",
        "id" : "0260997a7fbac331cc4f6cc797ecbe6425bee694",
        "msg" : "Add Android worker and Koin bindings for draining xAPI remote write queue",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/EnqueueDrainXapiRemoteWriteQueueUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/androidMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainXapiRemoteWriteQueueWorker.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-app-compose/README.md",
          "README.md",
          "app-android/README.md"
        ],
        "commitId" : "c139595ee01b99703afe3d056b9330ddd58d35ce",
        "timestamp" : 1789634063000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update readme references that used to point to respect-app-compose to point to app-android.\u000a",
        "date" : "2026-09-17 12:34:23 +0400",
        "id" : "c139595ee01b99703afe3d056b9330ddd58d35ce",
        "msg" : "Update readme references that used to point to respect-app-compose to point to app-android.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "editType" : "edit",
            "file" : "respect-app-compose/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/doc/run-config-settings.png",
          "app-android/doc/app-config-dropdown.png",
          "respect-app-compose/doc/run-config-settings.png",
          "respect-app-compose/doc/app-config-dropdown.png"
        ],
        "commitId" : "d7108c8ff014fd19318491a409268e87e8f53357",
        "timestamp" : 1789634242000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Move Android Studio screenshots to app-android\u000a",
        "date" : "2026-09-17 12:37:22 +0400",
        "id" : "d7108c8ff014fd19318491a409268e87e8f53357",
        "msg" : "Move Android Studio screenshots to app-android",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-app-compose/doc/app-config-dropdown.png"
          },
          {
            "editType" : "add",
            "file" : "app-android/doc/run-config-settings.png"
          },
          {
            "editType" : "add",
            "file" : "app-android/doc/app-config-dropdown.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/doc/run-config-settings.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/doc/run-config-settings.png",
          "app-android/doc/app-config-dropdown.png"
        ],
        "commitId" : "ef9c679b3c4763267422ff4acb4c9eb6eca06d25",
        "timestamp" : 1789635473000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update screenshots\u000a",
        "date" : "2026-09-17 12:57:53 +0400",
        "id" : "ef9c679b3c4763267422ff4acb4c9eb6eca06d25",
        "msg" : "Update screenshots",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/doc/app-config-dropdown.png"
          },
          {
            "editType" : "edit",
            "file" : "app-android/doc/run-config-settings.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/doc/run-config-settings.png",
          "app-android/doc/app-config-dropdown.png"
        ],
        "commitId" : "a684966bdd27dc61aed963dc8972d3340a2163cb",
        "timestamp" : 1789635567000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update screenshots\u000a",
        "date" : "2026-09-17 12:59:27 +0400",
        "id" : "a684966bdd27dc61aed963dc8972d3340a2163cb",
        "msg" : "Update screenshots",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-android/doc/app-config-dropdown.png"
          },
          {
            "editType" : "edit",
            "file" : "app-android/doc/run-config-settings.png"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md",
          "lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md"
        ],
        "commitId" : "b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c",
        "timestamp" : 1789636894000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add profile id doc for storing and retrieving an OPDS collection.\u000aAdd recipe for pinning collections.\u000a",
        "date" : "2026-09-17 13:21:34 +0400",
        "id" : "b5cba62c8accf3ddaac5a46d65ddac1acaa25b7c",
        "msg" : "Add profile id doc for storing and retrieving an OPDS collection.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_COLLECTIONS_LISTING_RECIPE.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_OPDS_COLLECTIONS_ACTIVITY_PROFILE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt",
          "respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json",
          "app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js",
          "respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt",
          "respect-lib-ihttp-okhttp/.gitignore",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt",
          "respect-app-compose/src/androidMain/res/values/tags.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt",
          "lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt",
          "app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt",
          "respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt",
          "respect-lib-cache/.gitignore",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt",
          "respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt",
          "respect-credentials/src/main/AndroidManifest.xml",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt",
          "lib-appui-compose/src/androidMain/res/drawable/digital_library.png",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt",
          "respect-lib-serializers/build.gradle.kts",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt",
          "respect-server/src/main/resources/application.conf",
          "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js",
          "lib-opds-model/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt",
          "lib-credentials/proguard-rules.pro",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt",
          "respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt",
          "lib-cache/README.md",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt",
          "app-server/src/main/resources/demoapp/learning_unit_xapi.js",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt",
          "lib-cache/src/jvmTest/resources/testfile1.png",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt",
          "lib-appui-compose/src/androidMain/res/values/asset_statements.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt",
          "respect-server/src/main/resources/demoapp/xapi_module.js",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt",
          "lib-cache/src/jvmTest/resources/childrens-literature.epub",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt",
          "respect-app-compose/src/androidMain/res/drawable/data_reporting.png",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt",
          "respect-app-compose/src/androidMain/res/xml/backup_rules.xml",
          "lib-ihttp-core/README.md",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt",
          "respect-lib-cache/src/jvmTest/resources/testfile2.png",
          "lib-shared/build.gradle.kts",
          "lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt",
          "lib-cache/build.gradle.kts",
          "lib-shared/src/commonMain/composeResources/values/lang_names.xml",
          "respect-lib-shared/src/commonTest/resources/invalid-catalog.json",
          "respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt",
          "README.md",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt",
          "lib-datalayer-repository/build.gradle.kts",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt",
          "respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4",
          "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt",
          "respect-app-compose/src/androidMain/res/values/themes.xml",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt",
          "lib-opds-model/src/jvmTest/resources/lesson001.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt",
          "respect-server/well-known/assetlinks.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html",
          "lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt",
          "respect-credentials/proguard-rules.pro",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt",
          "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt",
          "app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt",
          "app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt",
          "lib-appui-compose/src/androidMain/res/xml/backup_rules.xml",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt",
          "lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json",
          "app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt",
          "lib-credentials/build.gradle.kts",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt",
          "lib-credentials/.gitignore",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt",
          "lib-ihttp-core/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt",
          "respect-server/src/main/resources/http/respect-ds/index.html",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt",
          "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt",
          "respect-app-compose/src/commonMain/kotlin/theme/Theme.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt",
          "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt",
          "respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt",
          "lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt",
          "app-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt",
          "lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt",
          "lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt",
          "lib-ihttp-nanohttpd/.gitignore",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt",
          "lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt",
          "app-server/src/dist/systemd/respect-server.service",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt",
          "respect-lib-ihttp-iostreams/.gitignore",
          "respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "lib-shared/src/commonMain/composeResources/drawable/fingerprint.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt",
          "respect-lib-ihttp-iostreams/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt",
          "respect-app-compose/src/commonMain/kotlin/theme/Color.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt",
          "lib-appui-compose/src/jvmMain/resources/sample-feed.json",
          "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt",
          "app-server/well-known/assetlinks.json",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt",
          "lib-cache/src/androidMain/AndroidManifest.xml",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "lib-ihttp-nanohttpd/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt",
          "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt",
          "app-cli/src/main/java/world/respect/clitools/RespectCLI.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/app.html",
          "respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt",
          "lib-shared/AGENTS.md",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt",
          "respect-server/src/main/resources/demoapp/credits.txt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt",
          "respect-lib-ihttp-core/README.md",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt",
          "respect-app-compose/src/androidMain/res/drawable/spix_logo.webp",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt",
          "respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml",
          "app-server/src/main/resources/http/respect-ds/native_demo/index.json",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt",
          "app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt",
          "app-server/well-known/terms.html",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt",
          "lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml",
          "respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt",
          "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif",
          "respect-server/src/main/resources/http/respect-ds/case_valid/icon.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt",
          "lib-shared/src/commonMain/composeResources/drawable/empty.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt",
          "app-android/build.gradle.kts",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt",
          "respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt",
          "respect-cli/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt",
          "respect-lib-ihttp-okhttp/proguard-rules.pro",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt",
          "lib-dataloadstate-ktor-server/build.gradle.kts",
          "lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt",
          "respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt",
          "lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt",
          "respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt",
          "lib-appui-compose/src/androidMain/res/drawable/data_reporting.png",
          "app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/icon.png",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js",
          "respect-lib-ihttp-okhttp/consumer-rules.pro",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt",
          "lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt",
          "app-server/src/main/resources/http/respect-ds/manifestlist.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt",
          "respect-app-compose/src/androidMain/res/values/asset_statements.xml",
          "respect-lib-opds-model/src/jvmTest/resources/lesson001.json",
          "app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt",
          "app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt",
          "respect-lib-cache/README.md",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt",
          "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt",
          "app-cli/.gitignore",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt",
          "respect-lib-shared/src/commonTest/resources/opds-io-home.json",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt",
          "lib-opds-model/README_LAUNCHABLE_APP.md",
          "respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt",
          "lib-dataloadstate/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js",
          "lib-appui-compose/src/androidMain/res/xml/file_paths.xml",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt",
          "respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt",
          "lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt",
          "app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt",
          "respect-lib-opds-model/README.md",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt",
          "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt",
          "lib-datalayer-db/README.md",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt",
          "lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt",
          "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt",
          "respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt",
          "respect-lib-shared-se/README.md",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt",
          "app-server/src/main/resources/application.conf",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/index.json",
          "app-server/src/main/resources/demoapp/index.html",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt",
          "app-server/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt",
          "respect-lib-ihttp-nanohttpd/.gitignore",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt",
          "respect-lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt",
          "respect-lib-serializers/README.md",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt",
          "lib-shared-se/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt",
          "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg",
          "respect-app-compose/src/androidMain/res/values/strings.xml",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt",
          "respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt",
          "lib-appui-compose/src/androidMain/res/menu/menu_webview.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt",
          "respect-app-compose/src/androidMain/res/menu/menu_webview.xml",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt",
          "respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt",
          "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt",
          "lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt",
          "respect-app-compose/build.gradle.kts",
          "app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt",
          "lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt",
          "respect-lib-shared/src/commonMain/resources/directories/default.properties",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt",
          "respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt",
          "lib-datalayer/AGENTS.md",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt",
          "respect-credentials/.gitignore",
          "respect-server/src/main/resources/demoapp/locales/fr-FR.json",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt",
          "app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt",
          "respect-server/well-known/terms.html",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt",
          "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt",
          "respect-app-compose/src/androidMain/res/drawable/works_offline.png",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt",
          "lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json",
          "lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt",
          "app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt",
          "lib-cache/src/jvmTest/resources/ustadmobile-epub.js",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt",
          "respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt",
          "lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml",
          "lib-opds-model/README.md",
          "respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt",
          "lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml",
          "respect-lib-ihttp-iostreams/README.md",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt",
          "lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt",
          "app-server/src/main/resources/http/respect-ds/index.html",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt",
          "lib-cache/.gitignore",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt",
          "app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt",
          "respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt",
          "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt",
          "lib-cache/src/jvmTest/resources/testfile2.png",
          "lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt",
          "respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt",
          "lib-appui-compose/src/androidMain/res/values/themes.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt",
          "respect-app-compose/src/jvmMain/resources/sample-feed.json",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt",
          "lib-appui-compose/src/androidMain/res/drawable/assignments.png",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt",
          "lib-credentials/src/main/AndroidManifest.xml",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt",
          "respect-app-compose/src/androidMain/res/xml/file_paths.xml",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt",
          "respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt",
          "respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt",
          "app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt",
          "respect-lib-shared/src/commonMain/resources/about-credits-common.html",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt",
          "lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt",
          "lib-ihttp-okhttp/consumer-rules.pro",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt",
          "respect-lib-cache/src/jvmTest/resources/testfile1.png",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt",
          "respect-app-compose/src/androidMain/res/values-night/themes.xml",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt",
          "lib-datalayer-http-client/AGENTS.md",
          "respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt",
          "respect-app-compose/src/androidMain/res/values-v23/themes.xml",
          "lib-cache/src/jvmTest/resources/publication/lesson001/cover.png",
          "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt",
          "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt",
          "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt",
          "lib-shared/src/commonMain/resources/about-credits-common.html",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt",
          "lib-shared-se/README.md",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt",
          "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt",
          "app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt",
          "lib-shared/src/commonTest/resources/invalid-catalog.json",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt",
          "respect-server/src/main/resources/demoapp/grade.jpg",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt",
          "app-server/src/main/resources/http/respect-ds/base.json",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt",
          "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt",
          "lib-ihttp-core/.gitignore",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt",
          "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt",
          "lib-shared/src/commonMain/composeResources/values/strings.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt",
          "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt",
          "app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt",
          "app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt",
          "lib-datalayer-db/AGENTS.md",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/Platform.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt",
          "app-server/src/main/resources/demoapp/locales/fr-FR.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt",
          "respect-lib-opds-model/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt",
          "lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt",
          "respect-lib-primarykeygen/build.gradle.kts",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt",
          "lib-primarykeygen/build.gradle.kts",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml",
          "app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt",
          "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt",
          "respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt",
          "respect-app-compose/src/androidMain/res/drawable/digital_library.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt",
          "respect-server/src/main/resources/demoapp/locales/en-US.json",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt",
          "respect-server/build.gradle.kts",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt",
          "lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "app-server/src/main/resources/demoapp/credits.txt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json",
          "lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt",
          "respect-app-compose/README.md",
          "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt",
          "respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt",
          "respect-server/src/main/resources/demoapp/app_icon.png",
          "app-server/src/main/resources/http/respect-ds/case_valid/index.json",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt",
          "respect-lib-ihttp-core/.gitignore",
          "app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt",
          "lib-ihttp-okhttp/build.gradle.kts",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt",
          "app-server/README.md",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/icon.webp",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt",
          "respect-lib-opds-model/README_LAUNCHABLE_APP.md",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt",
          "lib-serializers/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt",
          "respect-lib-shared/build.gradle.kts",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html",
          "app-server/src/main/resources/demoapp/books.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt",
          "lib-datalayer-http-client/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt",
          "lib-datalayer-db/build.gradle.kts",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt",
          "lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt",
          "lib-ihttp-okhttp/.gitignore",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt",
          "app-server/src/main/resources/demoapp/xapi_module.js",
          "lib-appui-compose/README.md",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt",
          "respect-lib-cache/src/androidMain/AndroidManifest.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt",
          "respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt",
          "app-server/src/main/resources/demoapp/locales/en-US.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt",
          "lib-datalayer/README.md",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt",
          "lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt",
          "respect-lib-ihttp-nanohttpd/build.gradle.kts",
          "lib-datalayer-repository/AGENTS.md",
          "lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt",
          "app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml",
          "respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt",
          "respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt",
          "respect-server/src/dist/systemd/respect-server.service",
          "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt",
          "respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt",
          "respect-server/src/main/resources/http/respect-ds/native_demo/index.json",
          "respect-lib-ihttp-core/build.gradle.kts",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt",
          "respect-lib-shared/AGENTS.md",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt",
          "respect-server/src/main/resources/http/respect-ds/chimple.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt",
          "lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml",
          "ci-run-test-server.sh",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt",
          "respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html",
          "respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt",
          "respect-server/src/main/kotlin/world/respect/server/Application.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt",
          "app-server/src/main/resources/demoapp/app_icon.png",
          "respect-server/src/main/resources/http/respect-ds/base.json",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt",
          "lib-ihttp-iostreams/README.md",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt",
          "respect-server/src/main/resources/logback.xml",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt",
          "app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt",
          "respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt",
          "lib-cache/src/jvmTest/resources/publication/lesson001/script.js",
          "lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt",
          "respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt",
          "lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt",
          "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt",
          "lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt",
          "lib-shared/src/androidMain/assets/aaguid.json",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt",
          "lib-appui-compose/src/androidMain/res/values-night/themes.xml",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png",
          "lib-appui-compose/src/androidMain/res/values/tags.xml",
          "respect-app-compose/src/androidMain/res/drawable/assignments.png",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt",
          "respect-lib-cache/src/jvmTest/resources/childrens-literature.epub",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt",
          "lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt",
          "lib-ihttp-iostreams/.gitignore",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt",
          "lib-ihttp-iostreams/build.gradle.kts",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt",
          "app-server/.gitignore",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt",
          "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt",
          "respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt",
          "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt",
          "respect-lib-shared/src/androidMain/assets/aaguid.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt",
          "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt",
          "respect-server/.gitignore",
          "lib-appui-compose/src/androidMain/res/drawable/works_offline.png",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt",
          "respect-lib-ihttp-okhttp/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt",
          "lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt",
          "lib-shared/src/commonMain/composeResources/drawable/copycode.png",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt",
          "lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt",
          "respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt",
          "lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt",
          "app-server/src/main/resources/http/respect-ds/chimple.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt",
          "gradle.properties",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt",
          "respect-lib-shared-se/build.gradle.kts",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt",
          "app-cli/build.gradle.kts",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt",
          "lib-http-ipc-server/build.gradle.kts",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt",
          "respect-server/src/main/resources/demoapp/learning_unit_xapi.js",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt",
          "app-server/src/main/resources/logback.xml",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt",
          "lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/empty.png",
          "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt",
          "respect-app-compose/src/androidMain/res/raw/license_label_json",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt",
          "lib-appui-compose/src/commonMain/kotlin/theme/Color.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt",
          "respect-server/src/main/resources/demoapp/books.png",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt",
          "app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt",
          "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt",
          "app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt",
          "lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml",
          "app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt",
          "respect-server/README.md",
          "app-server/src/main/resources/http/respect-ds/native_demo/Lesson",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt",
          "app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt",
          "lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt",
          "respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt",
          "respect-app-compose/src/androidMain/res/layout/activity_web_view.xml",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt",
          "lib-appui-compose/build.gradle.kts",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt",
          "lib-appui-compose/src/androidMain/res/values-v23/themes.xml",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt",
          "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt",
          "respect-server/src/main/resources/http/respect-ds/manifestlist.json",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt",
          "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt",
          "app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt",
          "respect-cli/.gitignore",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt",
          "lib-appui-compose/src/androidMain/res/raw/license_label_json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt",
          "lib-ihttp-okhttp/proguard-rules.pro",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt",
          "respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg",
          "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt",
          "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt",
          "respect-app-compose/src/androidMain/res/drawable/respect_logo.webp",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt",
          "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt",
          "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt",
          "app-server/src/main/resources/demoapp/grade.jpg",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt",
          "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt",
          "respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt",
          "lib-shared/src/commonTest/resources/opds-io-home.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt",
          "lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt",
          "lib-datalayer/build.gradle.kts",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt",
          "respect-server/src/main/resources/demoapp/index.html",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt",
          "lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt",
          "respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt",
          "respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt",
          "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt",
          "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json",
          "lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt",
          "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt",
          "app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt",
          "respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt",
          "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt",
          "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt",
          "respect-credentials/build.gradle.kts",
          "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt",
          "respect-server/src/main/resources/http/respect-ds/native_demo/Lesson",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt",
          "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt",
          "respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt",
          "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt",
          "respect-lib-cache/build.gradle.kts",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt",
          "lib-appui-compose/src/androidMain/res/values/strings.xml",
          "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt",
          "lib-shared/src/commonMain/resources/directories/default.properties",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt",
          "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt",
          "respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png",
          "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt",
          "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt",
          "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt",
          "app-android/README.md",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt",
          "respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml",
          "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt",
          "lib-serializers/README.md",
          "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt",
          "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt"
        ],
        "commitId" : "dbe60749389bc418284e0690884eee431ca51bd9",
        "timestamp" : 1789646998000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update module naming convention.\u000a",
        "date" : "2026-09-17 16:09:58 +0400",
        "id" : "dbe60749389bc418284e0690884eee431ca51bd9",
        "msg" : "Update module naming convention.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/ustadmobile-epub.js"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppGradeCollectionsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/values/asset_statements.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/application.conf"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/README.md"
          },
          {
            "editType" : "add",
            "file" : "app-server/well-known/terms.html"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/resources/about-credits-common.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/respect_logo.webp"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/locales/en-US.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/ic_launcher_background.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportTemplateListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RespectRedeemInviteRequest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/README_LAUNCHABLE_APP.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LangMapTextField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/values/asset_statements.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared-se/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/menu/menu_webview.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/xml/backup_rules.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-cli/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/menu/menu_webview.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/ext/InstantExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateauth/ValidateAuthorizationUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBasicAlertDialog.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/consumer-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-cli/src/main/java/world/respect/clitools/RespectCLI.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/dist/systemd/respect-server.service"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/add/RegisterSchoolUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/xml/data_extraction_rules.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/accountlist/AccountListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/xml/backup_rules.xml"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/RouteWithResultDestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/layout/activity_web_view.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonTest/resources/opds-io-home.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NewCacheEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/ServerKoinModule.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadDbDiscoveryListener.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CompressionType.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/FileAssert.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpPathResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NapierLogInit.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HttpResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/childrens-literature.epub"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedTime.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/copycode.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/createaccount/CreateAccountScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQuickActionButton.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/ic_launcher_background.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/theme/Theme.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/acknowledgement/AcknowledgementViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolDirectoryRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiTextGetString.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/main.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/proguard-rules.pro"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendSmsAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/CurriculumMappingAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/CountryCodeTransformation.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroption/OtherOptionsScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/proguard-rules.pro"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/DatabaseExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/values/tags.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/books.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/lang_names.xml"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/howpasskeywork/HowPasskeyWorksViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/enrollments/UpdateClazzStudentXapiGroupUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarFlowDispatcher.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialCreationOptionsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonTest/resources/invalid-catalog.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJobItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/index.html"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtil.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/resources/directories/default.properties"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/testfile2.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/index.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/index.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasswordRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/app_icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/testfile2.png"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/grade.jpg"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jstetris.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/list/IndicatorListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseValidityChecker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/respect_logo.webp"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/HeaderOverrideHttpResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/onboarding/ShouldShowOnboardingUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ListAndPrintlnValidatorReporter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/ic_launcher.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/ClientDataJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/BasicWebView.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/logback.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLazyItems.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/enterlink/EnterLinkScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/OpenEelIntent.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonTest/resources/invalid-catalog.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateTimeField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdRequestAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/edit/EnrollmentEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/base.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/theme/Theme.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RespectComposeNavController.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/VerifyDomainUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/list/AppListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/publication/lesson001/script.js"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-right.gif"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/index.html"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/detail/ReportDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtable.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterpasswordsignup/EnterPasswordSignUpViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/AuthRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicenseList.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/learning_unit_xapi.js"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/empty.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GenderGraphFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonPasskeyRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/edit/SchoolDirectoryEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDataSourceLocalProvider.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/list/PersonListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/CoroutineWorkerExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/script.js"
          },
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/signup/SignUpScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/consumer-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/FabUiState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCacheWhatWithIdAndPayload.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt"
          },
          {
            "editType" : "add",
            "file" : "app-cli/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsBelongsTo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReportExtensions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/ustadmobile-epub.js"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumberAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/ContentRange.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/acceptinvite/AcceptInviteViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAppMain.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/UstadCacheExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-nanohttpd/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/manifestlist.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createclass/CreateClassUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/password/SavePasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/NOTICE"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonListDetailsExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/grade.jpg"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/IntExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AvatarColorForName.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/FileMimeTypeHelperImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/XXStringHasherExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/E2EArtifactUploadActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/LifeCycleOwnerDistributedCacheInit.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/index.html"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolRegistrationRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidChannelHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/js/xapi_assignable_unit.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RetentionLock.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/util/ext/ExceptionExtensions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/LocalAppLocale.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/filterusername/FilterUsernameUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/values/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ClazzExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/InviteExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorMessage.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/chimple.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-http-ipc-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticatePasswordUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/detail/AssignmentDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/DecodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/EnqueueActivityContextJobUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/StringExt.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/composites/NeighborCacheEntryAndNeighborCache.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/xapi_module.js"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteInfoRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/components/BasicWebView.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/RespectImageSelectButton.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumber.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMapping.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/XapiLaunchParams.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/mipmap-anydpi-v26/ic_launcher_round.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitTinCanXmlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/baseline_close_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/digital_library.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthProcessor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/SchoolConfig.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/UrlToCustomDeepLinkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/GetDevModeEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/index.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/LicenseLabelEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/native_demo/Lesson-manifest.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/settings/SettingsScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/base64.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/IHttpResponseOkHttpAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterpasswordsignup/EnterPasswordSignUpScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HeadersBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/native_demo/index.json"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/acceptinvite/AcceptInviteScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/index.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/app.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/raw/license_label_json"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/xml/data_extraction_rules.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/AppConfigExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesFromPropertiesUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessChecker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonTest/resources/opds-io-home.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/viewmodel/RespectViewModelFun.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/DurationExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/empty.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlDirectivesUtil.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/app/AppIcon.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/AppRoutes.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/getstarted/GetStartedViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/images/RespectImage.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/fingerprint.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/app_icon.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheEntryToStore.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelper.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneNumberVisualTransformation.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/createlink/CreateInviteLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/ext/ReportQueryResultExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/OutputStreamExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/native_demo/index.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidateLinkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/AppConfigExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberAppVersionInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/HttpLinkHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFacet.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/PublicationListItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/PinnedPublication.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5Digest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/resources/sample-feed.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/well-known/assetlinks.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPrice.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/images/RespectImage.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/navigation/NavCommandEffect.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-cli/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/icon.webp"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/BaseHttpRequest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/SnackBarDispatcher.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/locales/fr-FR.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.html"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseCacheabilityCheckerExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadJobItemStatusUpdater.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePong.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/well-known/assetlinks.json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteCreateRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/RememberDayOrDate.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseAndroid.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/index.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/passkeyList/PasskeyListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/AddBookmarkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/jvmTest/resources/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchShareLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJob.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectEmptyListComponent.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/LangMapExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/SelectLangMapStringByLocale.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountSchoolScopeLink.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/app/AppIcon.android.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/cover.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared-se/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeadersImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/SetUsernameAndPasswordScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/verify/VerifySchoolUrlPointsToThisServerUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/launch.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/Lesson-manifest.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/publication/lesson001/cover.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validatepassword/ValidatePasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/UrlNormalizeForNoVarySearch.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/DistributedCacheInterceptor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/cover.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_module.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NewCacheEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearchTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryExtraHeadersDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ByteBufferExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/HttpHeadersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/settings/SettingsViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/ic_launcher.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/index.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/AndroidManifest.xml"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/edit/PersonEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/proguard-rules.pro"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentProgressCell.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheControlHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/xml/file_paths.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/URLProtocolExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/publication/lesson001/cover.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntriesTest.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailStudentNameCell.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/e2etestartifactsroute/E2ETestArtifactsRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/logback.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/locales/fr-FR.json"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolLinkRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/respectaccount/list/RespectAccountListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/scanqrcode/ScanQRCodeViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCache.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarSearchUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/passkey/GetAllActivePasskeysRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate-ktor-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/OkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/src/commonMain/kotlin/world/respect/lib/primarykeygen/PrimaryKeyGenerator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/callback/AddDirectoriesMigration.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/assignments.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/RespectAccountExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/IHttpResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CacheStorageCompressionFilter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsPRFOutputsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthJob.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/list/ClazzListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/CommonSortOptions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLongVersionInfoItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringListSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared-se/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/books.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/xml/file_paths.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/resources/directories/default.properties"
          },
          {
            "editType" : "edit",
            "file" : "ci-run-test-server.sh"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppCollectionUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/audio.ogg"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAssignmentExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryAndMetadata.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/CacheEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/JsonObjectExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/native_demo/appmanifest.json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getdeviceinfo/DeviceInfoExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/dist/systemd/respect-server.service"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeadersExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/list/StatementListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringValue.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeed.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPersonAvatar.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CountGraphFormatter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-cli/src/main/java/world/respect/clitools/RespectCLI.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseDatabaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/native_demo/Lesson"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/UstadCacheLogger.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/RespectAsyncImage.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/webview/OkHttpWebViewClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalTimeField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailHeaderCell.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/getdeviceinfo/GetDeviceInfoUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/NeighborCacheEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-iostreams/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpoint.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/SchoolDirectoryEntryScopeId.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/directives/DirectivesToMap.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/DayOfWeekExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/images/RespectImage.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/edit/ReportEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/StringOrObjectSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/CachePathsProviderAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/okhttp/AbstractCacheInterceptorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectBottomSheetOption.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolValidationRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/LaunchCustomTabUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/logging/NapierLoggingAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/works_offline.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/onboarding/OnboardingViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/feedback_sent.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/resources/about-credits-common.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HttpHeaderListExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/spix_logo.webp"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/values/themes.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.html"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePacket.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemCommonExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasskeySignInFasterCard.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/graph/CombinedGraph.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/edit/PersonEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsSeries.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/LaunchSendWhatsAppUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/ValidatedEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/copycode.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/util/StringExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/RawStatementViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetPasswordViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/otheroptionsignup/OtherOptionsSignupScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitHtmlUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/values-v23/themes.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/layout/activity_web_view.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageOptionsUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/filteredit/ReportFilterEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/LearningUnitSelection.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/DemoStringMaps.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/jquery-1.6.4.min.js"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DateGraphFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/StringResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/jvmMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.jvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/RouteWithResultDest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/HeadersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/storage/GetAndroidSdCardDirUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/io/RangeInputStreamTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/detail/IndicatorDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/LocalAppLocale.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/childrens-literature.epub"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectQrBadgeInfoBox.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/list/LearningUnitListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRpEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMapExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/partial/RangeRequestNotSatisfiableException.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/VerifyPasskeyUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/xapi/xapinanohttpd/XapiResourceProviderAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/native_demo/Lesson"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityCheckerImplTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/learningunit/detail/LearningUnitDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/school/MakeSchoolPathDirUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MapHttpHeadersAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/changepassword/ChangePasswordScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/NullOutputStream.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/waitingforapproval/WaitingForApprovalViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppLearningUnitManifestUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onappstart/NavigateOnAppStartUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolDbPath.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/bookmark/BookmarkListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/edit/SchoolDirectoryEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppActionButton.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/.gitignore"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/PhoneNumValidatorAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/DurationAsISO8601Serializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendSmsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/data_reporting.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/acknowledgement/AcknowledgementScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/LaunchDebouncer.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/list/StatementListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/http/DistributedCacheHttpEndpointTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSectionLink.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantAsISO8601Extensions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedDate.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-iostreams/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/LaunchNoVarySearchConstants.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/util/ext/ApplicationCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavCommand.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/UstadCacheInterceptor.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PersonRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/GetOfflineStorageSettingUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/MutableStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/edit/ReportEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-left.gif"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/EnrollmentRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/sharelink/LaunchSendEmailUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/TransferJobItemStatus.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/ExpandableFab.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/setusernameandpassword/CreateAccountSetUserNameViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/mipmap-xxhdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditTaskListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/directory/RespectDirectoryServersConfig.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppCollectionsRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/UstadCacheBuilder.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RequestedEntryDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/setpassword/EncryptPersonPasswordUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/RespectSchoolPath.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/assets/aaguid.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/SingleItemToListTransformerSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/ext/AppStateIconExtensions.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentStatusFilter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/bookmark/BookmarkListScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/account/invite/username/checkusernameunique/CheckUsernameUniqueUseCaseServer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectTokenManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/CacheResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/ResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/assets/aaguid.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RememberCountryFlagEmoji.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/di/RespectAccountScopeId.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_resources_do_not_exist/grade1/lesson001/lesson001.html"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MappedHttpHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailTaskHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsFeedMetadata.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/theme/CommonColor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/GetPasskeyProviderInfoUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/src/commonMain/kotlin/com/ustadmobile/ihttp/iostreams/ByteArrayExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/passkey/VerifySignInWithPasskeyRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/works_offline.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/js/xapi_statement_maker.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/copycode/CopyInviteCodeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/validateqrbadge/ValidateQrCodeUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/date/ParseHttpDate.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getlanguageendonym/GetLanguageEndonymUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ByteArrayExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/login/LoginScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/SaveDemoAppToStaticFilesUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/ext/ApplicationRequestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-down.gif"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/detail/LearningUnitDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.ico"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/UrlParser.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppIcon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadStatusUpdate.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/storage/OfflineStorageOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/ResponseCacheabilityChecker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/bookmark/RemoveBookmarkUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared-se/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/AddChildAccountRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/domain/e2eartifactupload/GetDbFilesForE2EArtifactUploadUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectShortVersionInfoText.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/checkusernameunique/CheckUsernameUniqueUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/AGENTS.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSessionAndPerson.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/values/strings.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseProcessor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroption/OtherOptionsViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/detail/PersonDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/jvmTest/kotlin/world/respect/lib/opds/model/OpdsSerializerTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/util/ext/FileExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectRememberPager.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheHashtableIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/credits.txt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/getstarted/GetStartedScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/AssignmentListScreenFilter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.css"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/baseline_close_24.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/list/CurriculumMappingListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccountManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectLocalDateField.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/App.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/edit/ClazzEditScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePaths.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/CountryCodeToFlagEmoji.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/list/IndicatorListViewmodel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticateQrBadgeUseCaseDbImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-cli/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/theme/CommonColor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/report/detail/ReportDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/publication/lesson001/audio.ogg"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/enterinvitecode/EnterInviteCodeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/profile/SignupViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialParameters.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/headers/IHttpHeadersAsOkHttpHeadersAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UiTextStringResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/statementmaker.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/onboarding/OnboardingScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/PersonGenderEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/RespectSchoolJsonRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/ReportViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/model/CurriculumMappingSection.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/signup/SignupCredential.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/otheroptionsignup/OtherOptionsSignupViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialDescriptorJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/getxapiactivityid/GetXapiActivityForPublicationUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturnerExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/script.js"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/tincan.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/manageaccount/ManageAccountScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumMetadata.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IPhoneNumberUtilAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/Snack.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialUserEntityJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/Platform.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/audio.ogg"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/ModifierExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/base.json"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ConcurrentSafeMapOf.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/README.md"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/launchable-app.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/mipmap-xxxhdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/demoapp/MakeDemoAppManifestUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppStateIcon.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/SignupScreenModeEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/partial/ContentRangeTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/fingerprint.png"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/KtorIHeadersAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOptionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImplTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialCreationOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppManifestRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/phonenum/GuessCountryCode.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheEntryDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/GetUsageReportingEnabledUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/getxapilaunchparams/GetXapiLaunchParamsUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/edit/EnrollmentEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/RetentionLockDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/grade1/lesson001/video.mp4"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsFeedExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/well-known/terms.html"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/sharefeedback/ShareFeedbackScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/onaccountcreated/NavigateOnAccountCreatedUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/jsMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.js.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClazzDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/RedeemInviteUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolPermissionGrantRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/DownloadProgressUpdate.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPhoneNumberTextField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/testfile1.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/biometric/BiometricAuthManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/OnClickPhoneNumberUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AuthResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/CouponHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/password/SavePasswordUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/WebViewActivity.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/ClassRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/detail/PersonDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/RawStatementScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/RangeInputStream.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tincan.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-nanohttpd/src/commonMain/kotlin/com/ustadmobile/ihttp/nanohttpd/NanoHttpdResponseAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/GetInviteInfoUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/URLBuilderNormalizeForNoVarySearch.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/NavControllerLogEffect.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/demoapp/ext/DemoAppUrlExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/inviteperson/InvitePersonViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/chimple.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/UstadExposedDropDownMenuField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNeighborDiscoveryListener.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/src/androidMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/base64/Base64Ext.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithTextBody.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/launcher/AppLauncherViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/detail/ClassPendingPersonListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/DurationGraphFormatter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectSession.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CachedResponseStatus.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/list/CurriculumMappingListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/changepassword/ChangePasswordViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/InstantISO8601Serializer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/17.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/indicator/edit/IndicatorEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/getxapilaunchurl/GetXapiLaunchUrlUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/demoapp/learning_unit_xapi.js"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/MergedHeaders.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/HttpRequestOkHttpAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublication.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectOfflineItemStatusIcon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/tetris.css"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.desktop.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/DefaultCacheCompressionFilter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCaseJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/novarysearch/UrlBuilderApplyNoVarySearchTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDateField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geolookup/GetCountryForUrlUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/DbTypeConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/waitingforapproval/WaitingForApprovalScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/util/ChannelExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/detail/IndicatorDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/list/ReportTemplateListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectFilterChipsHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/UriStringSerializer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashEntries.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/e2eartifactupload/E2EArtifactUploadUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/downloader/DownloadIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/mipmap-mdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/OpdsPublicationExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getwarnings/GetWarningsUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/testfile1.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-primarykeygen/src/jvmTest/kotlin/world/respect/lib/primarykeygen/DoorPrimaryKeyGeneratorTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/RunReportUseCaseClientImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/NewFileFromResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/values-night/themes.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/icon.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/digital_library.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/statement/detail/StatementDetailScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/list/AssignmentListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/getfavicons/GetFavIconUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/ServerAccountScopeManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreResult.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/publication/lesson001/lesson001.html"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorSelectionCriteria.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ActionBarButtonUiState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/school/respect/InviteRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/CreateGraphFormatterUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validateemail/ValidateEmailUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/PinnedPublicationDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/clazz/list/ClazzListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PasskeyVerifyResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithFormUrlEncodedData.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/resources/publication/lesson001/video.mp4"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared-se/src/commonMain/kotlin/world/respect/sharedse/domain/account/authenticatepassword/AuthenticatePasswordUseCaseDbImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/LangMap.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/RequestBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/novarysearch/NoVarySearch.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsGroup.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeader.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NavCommandExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/FileSystemExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/qrcode/InviteQrScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectUserHandle.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/LogTags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedCachePing.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/urltonavcommand/ResolveUrlToNavCommandUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/main/AndroidManifest.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/assignments.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable-v24/ic_launcher_foreground.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/model/RunReportResultAndFormatters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/request/OkHttpRequestAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/ReadiumLinkExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/devmode/SetDevModeEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/SortOrderOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppTags.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/CachePathsProvider.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/distributed/model/DistributedHashCacheEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/drawable/compose-multiplatform.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/clipboard/SetClipboardStringUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/list/PersonListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/statement/detail/StatementDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/callback/AddSchoolDirectoryCallback.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/DownloadJobItemDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/detail/AppsDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/PublicKeyCredentialRequestOptionsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaderImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/username/UsernameSuggestionRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/ext/DateFormatterExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/ic_google_play_badge.png"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheTrimmerTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/resources/publication/lesson001/script.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/undraw_qr_code_scan_bewe.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/RequestedEntry.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/SchoolConfig.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CheckPasskeySupportUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/StringResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/EncodeUserHandleUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResultReturner.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/SourceExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/application.conf"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/migrations/UstadCacheDbMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPagingItems.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/InitDeepLinkUriProviderUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/CacheEntryExtraHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/theme/Color.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/domain/school/add/AddSchoolUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/response/ByteArrayResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/index.html"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/NextAfterScan.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/SizeClass.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCaseWorker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/theme/Color.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/jvmMain/kotlin/world/respect/app/util/phonenum/PhoneUtils.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/CacheControlFreshnessCheckerImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumContributorObject.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/KClassStringSerializer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/enterlink/EnterLinkViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/report/list/ReportListScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/README.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/learningunit/list/LearningUnitListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/2.5.3-crypto-sha1.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/person/inviteperson/InvitePersonScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/icon.webp"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/LocalAppLocale.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDetailField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchShareLinkAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/AppUiStateExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/howpasskeywork/HowPasskeyWorksScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AaguidProviderInfo.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticatorAssertionResponseJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/gettokenanduser/GetTokenAndUserProfileWithCredentialUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringResourceExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/validateusername/ValidateUsernameUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/phonenumber/IAsYouTypeFormatterAdapterAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/IHeaderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/SnackBarDispatcherUseCaseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/StoreProgressListener.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/drawable/spix_logo.webp"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/androidMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/values/themes.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-primarykeygen/src/jvmMain/kotlin/world/respect/lib/primarykeygen/GenerateNodeId.jvm.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/LICENSE"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/response/ByteArrayResponse.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/CreatePublicKeyCredentialRequestOptionsJsonUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/EnrollmentRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberDateTimeFormat.android.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/RunDownloadJobUseCaseWorker.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetActivePersonPasskeysUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/toPerson.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/curriculum/mapping/edit/CurriculumMappingEditScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/jvmTest/resources/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/xapi/XapiAppListingExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/appmanifest.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/ext/StringExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/lesson001.json"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/RespectDataLoadHost.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/opds/validator/HttpClientExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/RespectCredential.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/account/passkey/LoadAaguidJsonUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/GetPasskeyProviderInfoUseCaseImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/signup/CreateAccountViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/logging/LogbackAntilog.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/Platform.android.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/resources/sample-feed.json"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/MapExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/enrollment/list/EnrollmentListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/enrollment/list/EnrollmentListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/credentials/passkey/GetCredentialUseCaseAndroidImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/util/exception/ExceptionWithUiText.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/GetInviteInfoUseCaseServer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/passkeylist/PasskeyListViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/termsandcondition/TermsAndConditionScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/qrcode/PersonQrBadgeRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/ApproveOrDeclineInviteRequestUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/video.mp4"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/headers/MimeTypeHelperExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/CreateInviteUseCaseDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectSortOptionsBottomSheet.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/dao/NeighborCacheDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/app/components/BasicWebView.desktop.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/ext/ByteArrayExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/composeResources/values/lang_names.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/curriculum/mapping/edit/CurriculumMappingEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/Greeting.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/account/invite/CreateInviteUseCaseServer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/values-v23/themes.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/gotoappstore/GoToAppStoreUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHeadersBuilder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/drawable/data_reporting.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/login/LoginViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumSubject.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/qrcode/InviteQrViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/integrity/Sha256Integrity.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/openexternallink/OpenExternalLinkUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/passkey/RevokePasskeyRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/DevModeClickable.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/edit/ClazzEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-serializers/src/commonMain/kotlin/world/respect/lib/serializers/LocalDateOrDateTime.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/query/MockRunReportUseCaseClientImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/appversioninfo/GetAppVersionInfoUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/add/AddServerManagedDirectoryCallback.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/edit/AssignmentEditScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/Validator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/mipmap-xhdpi/ic_launcher_round.png"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/AccountDepComponent.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/Platform.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/demoapp/DemoLaunchableAppLearningUnitRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/downloader/EnqueueRunDownloadJobUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLink.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/licenses/model/SpdxLicense.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCache.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/io/InputStreamExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/sendinvite/LaunchSendEmailAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TinCanJS/README.md"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/child/AddChildAccountUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/username/UsernameSuggestionUseCaseClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/composeResources/drawable/no_bookmark.xml"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/AddNewEntryTriggerCallback.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/assignment/detail/AssignmentDetailScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationExtensionsClientOutputsJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/UstadCacheDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/enterinvitecode/EnterInviteCodeViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsAcquisition.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/copycode/CopyInviteCodeViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-iostreams/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/RedeemInviteRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/OkCallExt.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/EnqueuePinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/locales/en-US.json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/list/AssignmentListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/report/formatter/GraphFormatter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/sharefeedback/ShareFeedbackViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/ext/replace.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/mipmap-hdpi/ic_launcher_round.png"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/headers/IHttpHeaders.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/StringBuilderExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/connectivitymonitor/ConnectivityMonitorAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/person/setusernameandpassword/CreateAccountSetPasswordScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/16.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/passkey/RevokePasskeyUseCaseClient.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/default-catalog.json"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkProperties.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/schemas/com.ustadmobile.libcache.db.UstadCacheDb/15.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/statementmaker/icon.png"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/xapi_module.js"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/apps/launcher/AppLauncherScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-space.gif"
          },
          {
            "editType" : "add",
            "file" : "lib-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/model/AuthenticationResponseJSON.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestCreator.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-ihttp-okhttp/src/commonMain/kotlin/com/ustadmobile/ihttp/okhttp/response/OkHttpResponseAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/EncodeUserHandleUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/lesson001/launchable-app.json"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/UstadCacheDbExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/validator/ValidatorReporter.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/manifestlist.json"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/account/invite/username/UsernameSuggestionUseCaseServer.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/schooldirectory/list/SchoolDirectoryListScreen.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/app/AppBar.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-ihttp-core/src/commonMain/kotlin/com/ustadmobile/ihttp/request/IHttpRequestWithByteBody.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/domain/activitycontextjobprocessor/ActivityContextJobProcessor.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/res/values-night/themes.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/jvmMain/kotlin/world/respect/main.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/util/scanqrcode/PermissionsManager.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/util/SchoolUrlVerificationManager.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/kotlin/world/respect/credentials/passkey/CreatePasskeyUseCaseProcessor.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/values/tags.xml"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/usagereporting/SetUsageReportingEnabledUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-credentials/src/commonMain/kotlin/world/respect/credentials/passkey/request/DecodeUserHandleUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/authenticatepassword/AuthenticateQrBadgeUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/UstadCacheTrimmer.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/entities/DownloadJob.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/RespectViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchers/OpenExternalLinkUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectGenderExposedDropDownMenuField.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/invite/SubmitRedeemInviteRequestUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/resources/UiText.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/navigation/NavResult.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/effects/AppUiStateEffect.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/PinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/androidMain/kotlin/com/ustadmobile/libcache/distributed/DistributedCacheNsdAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/geticonforxapiactivity/GetPublicationForXapiActivityUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/schooldirectory/list/SchoolDirectoryMode.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ClearNeighborsCallback.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/RememberFormattedTime.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/navigation/deferreddeeplink/GetDeferredDeepLinkUseCaseAndroid.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/license/GetLicenseLabelUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/manageuser/termsandcondition/TermsAndConditionViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/cachecontrol/RequestCacheControlHeader.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/navigation/deeplink/CustomDeepLinkToUrlUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/LoadingUiState.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/testing/SendDbToServerScreen.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/kotlin/world/respect/server/util/ext/ParametersExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/jvmTest/resources/world/respect/validator/case_manifest_not_discoverable/app.html"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/util/ResourcesDispatcher.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/assignable-unit-1/unit.json"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmTest/kotlin/com/ustadmobile/libcache/UstadCacheJvmTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/key-up.gif"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/LongExtCommon.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/okhttp/RequestExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/assignment/edit/AssignmentEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/db/ext/CacheEntryExt.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/domain/permissions/CheckSchoolPermissionsUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/androidMain/res/raw/license_label_json"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/AppBarColors.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/readme.txt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/clazz/detail/ClazzDetailViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/components/RespectPasswordField.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/school/SchoolPrimaryKeyGenerator.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/resources/http/respect-ds/case_valid/examples/jstetris/TC_tetris.js"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/FilterChipsOption.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/app/appstate/ExpandableFabUiState.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/app/AppNavHost.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/ReadiumLinkPropertiesEncrypted.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/src/main/kotlin/world/respect/server/routes/username/checkusernameunique/CheckUsernameUniqueRoute.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/commonMain/kotlin/world/respect/app/view/manageuser/accountlist/AccountListItem.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-cache/src/commonMain/kotlin/com/ustadmobile/libcache/downloader/AbstractEnqueuePinPublicationPrepareUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/filteredit/ReportFilterEditViewModel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/apps/list/AppListViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "app-server/src/main/resources/demoapp/credits.txt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-opds-model/README_LAUNCHABLE_APP.md"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/report/indictor/edit/IndictorEditViewmodel.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-cache/src/jvmMain/kotlin/com/ustadmobile/libcache/md5/Md5DigestJvm.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-app-compose/src/androidMain/kotlin/world/respect/app/components/webview/UstadAbstractWebViewClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "respect-lib-shared/src/androidMain/kotlin/world/respect/shared/util/RememberFormattedDate.android.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-server/src/dist/systemd/respect-server.service"
        ],
        "commitId" : "78c9a20922e2d10d126600ae9c292ed9624179d2",
        "timestamp" : 1789647047000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update respect-server.service template.\u000a",
        "date" : "2026-09-17 16:10:47 +0400",
        "id" : "78c9a20922e2d10d126600ae9c292ed9624179d2",
        "msg" : "Update respect-server.service template.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-server/src/dist/systemd/respect-server.service"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_.lck",
          "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-wal",
          "respect-server/data/respect-app.db-wal",
          "respect-server/data/respect-app.db",
          "respect-server/data/dir-admin.txt",
          "respect-server/data/respect-app.db-shm",
          "respect-server/data/server.properties",
          "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_",
          "respect-server/data/respect-app.db.lck",
          "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-shm"
        ],
        "commitId" : "6ee350d7644c81636bdd7c6e9467caa765aed61a",
        "timestamp" : 1789648642000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove test data no longer covered by gitignore.\u000a",
        "date" : "2026-09-17 16:37:22 +0400",
        "id" : "6ee350d7644c81636bdd7c6e9467caa765aed61a",
        "msg" : "Remove test data no longer covered by gitignore.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "respect-server/data/respect-app.db"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/respect-app.db-shm"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_.lck"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/respect-app.db-wal"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/dir-admin.txt"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/respect-app.db.lck"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-shm"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/server.properties"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_"
          },
          {
            "editType" : "delete",
            "file" : "respect-server/data/http___10_40_49_70_8098_/http___10_40_49_70_8098_-wal"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".gitignore"
        ],
        "commitId" : "f08fc738eef4c41b036ccc7f98df2ad18a42b8d2",
        "timestamp" : 1789648790000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update gitignore to reflect module renaming and avoid accidental commit of old server data.\u000a",
        "date" : "2026-09-17 16:39:50 +0400",
        "id" : "f08fc738eef4c41b036ccc7f98df2ad18a42b8d2",
        "msg" : "Update gitignore to reflect module renaming and avoid accidental commit of old server data.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "composeApp/src/desktopMain/resources/img/spix_logo.png",
          "composeApp/src/desktopMain/resources/img/respect_logo.png",
          ".gitignore"
        ],
        "commitId" : "01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c",
        "timestamp" : 1789648861000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete old composeApp directory.\u000a",
        "date" : "2026-09-17 16:41:01 +0400",
        "id" : "01b27dd486b9ca5d02af0f4eb3ce41ec0deb606c",
        "msg" : "Remove obsolete old composeApp directory.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "composeApp/src/desktopMain/resources/img/spix_logo.png"
          },
          {
            "editType" : "delete",
            "file" : "composeApp/src/desktopMain/resources/img/respect_logo.png"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-server/README.md",
          "AGENTS.md"
        ],
        "commitId" : "5461c3e7ef70a4307f6868bed4093e414b7312ff",
        "timestamp" : 1789649231000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix links in AGENTS.md and README.md\u000a",
        "date" : "2026-09-17 16:47:11 +0400",
        "id" : "5461c3e7ef70a4307f6868bed4093e414b7312ff",
        "msg" : "Fix links in AGENTS.md and README.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-server/README.md"
          },
          {
            "editType" : "edit",
            "file" : "AGENTS.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt",
          "app-server/src/main/kotlin/world/respect/server/Application.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
        ],
        "commitId" : "c8116d249abc5dd79fbbff973fb1c13cc2645e7e",
        "timestamp" : 1789653548000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete SchoolApp datasource.\u000a",
        "date" : "2026-09-17 17:59:08 +0400",
        "id" : "c8116d249abc5dd79fbbff973fb1c13cc2645e7e",
        "msg" : "Remove obsolete SchoolApp datasource.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/SchoolApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/SchoolDataSourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/SchoolAppDataSourceHttpClient.kt"
          },
          {
            "editType" : "delete",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/SchoolAppRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/daos/SchoolAppEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSource.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/SchoolAppDataSourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/SchoolAppDataSourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/17.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/adapters/SchoolAppAdapter.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/SchoolAppEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/SchoolAppDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/ext/OpdsFeedEntityExt.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
        ],
        "commitId" : "87391a9a03b2e3dc1a18da04a0e104d3e2c9fa0f",
        "timestamp" : 1789668616000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add ETag and Last-Modified caching support to OpdsFeedDataSource and remove write operations\u000a",
        "date" : "2026-09-17 22:10:16 +0400",
        "id" : "87391a9a03b2e3dc1a18da04a0e104d3e2c9fa0f",
        "msg" : "Add ETag and Last-Modified caching support to OpdsFeedDataSource and remove write operations",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json"
          },
          {
            "editType" : "add",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/SchoolDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/SchoolDataSourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/ext/OpdsFeedEntityExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/opds/OpdsFeedDataSourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/opds/OpdsFeedDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json",
          "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt"
        ],
        "commitId" : "e430d3912c32f55f19c11f3f1febba05a2811992",
        "timestamp" : 1789732644000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement asRepoFlow for repository data loading and remove OPDS feed write support\u000a",
        "date" : "2026-09-18 15:57:24 +0400",
        "id" : "e430d3912c32f55f19c11f3f1febba05a2811992",
        "msg" : "Implement asRepoFlow for repository data loading and remove OPDS feed write support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/writequeue/WriteQueueItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/HeadersExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/daos/OpdsFeedEntityDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/entities/OpdsFeedEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-server/src/main/kotlin/world/respect/server/routes/school/respect/PlaylistRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeedlist/OpdsFeedListViewModel.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/OpdsFeedDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/opds/adapters/OpdsFeedAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/writequeue/DrainRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt",
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "lib-datalayer/build.gradle.kts",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
        ],
        "commitId" : "13f2d0396253ff9440f3218469a2986d82343388",
        "timestamp" : 1789740744000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement SaveOpdsFeedUseCase to persist OPDS feeds to xAPI activity profile\u000a",
        "date" : "2026-09-18 18:12:24 +0400",
        "id" : "13f2d0396253ff9440f3218469a2986d82343388",
        "msg" : "Implement SaveOpdsFeedUseCase to persist OPDS feeds to xAPI activity profile",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/opdsfeededit/OpdsFeedEditViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/catalog/saveopdsfeed/SaveOpdsFeedUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/OpenEelXapiConstants.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/domain/MakePlaylistOpdsFeedUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt"
        ],
        "commitId" : "b69a100d4d1cd0c868bce1f508769bec864d9493",
        "timestamp" : 1789904836000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add test for RepoFlow\u000a",
        "date" : "2026-09-20 15:47:16 +0400",
        "id" : "b69a100d4d1cd0c868bce1f508769bec864d9493",
        "msg" : "Add test for RepoFlow",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt"
        ],
        "commitId" : "d41cbd4aff4ae57c4eaab3c035c894bdf5a3f103",
        "timestamp" : 1789972892000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Prevent older remote data from overwriting newer local data\u000a",
        "date" : "2026-09-21 10:41:32 +0400",
        "id" : "d41cbd4aff4ae57c4eaab3c035c894bdf5a3f103",
        "msg" : "Prevent older remote data from overwriting newer local data",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/ext/DataLoadParamsExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/opds/OpdsFeedDataSourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/ETagAndLastModifiedExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/flow/RepoFlowTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/opds/OpdsRespectRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/flow/RepoFlow.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
        ],
        "commitId" : "e1ca3bf147e7f55025333eb0fd58757778ed6c28",
        "timestamp" : 1789974069000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update DataLoadStateExt.kt comments\u000a",
        "date" : "2026-09-21 11:01:09 +0400",
        "id" : "e1ca3bf147e7f55025333eb0fd58757778ed6c28",
        "msg" : "Update DataLoadStateExt.kt comments",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ext/DataLoadStateExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/001_003_login_using_school_link_test.yaml",
          ".maestro/flows/subflows/admin_add_class_with_members.yaml",
          ".maestro/flows/subflows/admin_add_new_student_to_class.yaml",
          ".maestro/flows/subflows/admin_add_class.yaml",
          ".maestro/flows/subflows/admin_add_student.yaml",
          ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml",
          ".maestro/flows/002_001_browse_lessons_test.yaml",
          ".maestro/flows-pending/001_005_add_school_self_registration_test.yaml",
          ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml",
          ".maestro/flows/subflows/admin_add_new_teacher_to_class.yaml",
          ".maestro/flows/001_002_add_user_direct_test.yaml",
          ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
        ],
        "commitId" : "3dc7335ed9c45c15b467355f461d504e30878257",
        "timestamp" : 1789977414000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Restore to maestro tests as per main branch.\u000a",
        "date" : "2026-09-21 11:56:54 +0400",
        "id" : "3dc7335ed9c45c15b467355f461d504e30878257",
        "msg" : "Restore to maestro tests as per main branch.",
        "paths" : [
          {
            "editType" : "delete",
            "file" : ".maestro/flows/002_001_user_add_apps_playlists_and_bookmarks_to_school_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_new_teacher_to_class.yaml"
          },
          {
            "editType" : "add",
            "file" : ".maestro/flows/002_001_browse_lessons_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows-pending/001_005_add_school_self_registration_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_new_student_to_class.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_003_login_using_school_link_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_class.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/003_admin_user_assigns_assignment_to_a_class_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_001_invite_users_using_qr_code_or_link_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_class_with_members.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/001_002_add_user_direct_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/flows/subflows/admin_add_student.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/README.md",
          ".maestro/flows/002_001_browse_lessons_test.yaml",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt"
        ],
        "commitId" : "1bad6f9b7297a774b2387ed31e14b0cb9e7ad186",
        "timestamp" : 1789980925000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix use of title on 002_001 browse lesson test. Update maestro readme as per new module names.\u000a",
        "date" : "2026-09-21 12:55:25 +0400",
        "id" : "1bad6f9b7297a774b2387ed31e14b0cb9e7ad186",
        "msg" : "Fix use of title on 002_001 browse lesson test. Update maestro readme as per new module names.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_001_browse_lessons_test.yaml"
          },
          {
            "editType" : "edit",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : ".maestro/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".maestro/flows/002_002_browse_demo_app_test.yaml"
        ],
        "commitId" : "57bafa259a211717b8cd5b1232a94555d8106eb6",
        "timestamp" : 1789984229000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Fix 002_002_browse_demo_app_test.yaml : change id to publication_title.\u000a",
        "date" : "2026-09-21 13:50:29 +0400",
        "id" : "57bafa259a211717b8cd5b1232a94555d8106eb6",
        "msg" : "Fix 002_002_browse_demo_app_test.yaml : change id to publication_title.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".maestro/flows/002_002_browse_demo_app_test.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/ISingleDocumentParams.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt",
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
        ],
        "commitId" : "353a9ddfe454298dd3e21ab0ad7310238747bb7c",
        "timestamp" : 1789999846000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Extract AbstractXapiDocumentResourceTest and add XapiStateResource\u000a",
        "date" : "2026-09-21 18:10:46 +0400",
        "id" : "353a9ddfe454298dd3e21ab0ad7310238747bb7c",
        "msg" : "Extract AbstractXapiDocumentResourceTest and add XapiStateResource",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiActivityProfileResourceRoute.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/ISingleDocumentParams.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiDocumentResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiActivityProfileResourceAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentResourceExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStateResourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStateResourceAssertions.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentShaEntity.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStateDocumentAdapter.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt"
        ],
        "commitId" : "7481be86dd5178e393327f194df98c985f1392b9",
        "timestamp" : 1790008624000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement xAPI State resource database storage and migration to version 18\u000a",
        "date" : "2026-09-21 20:37:04 +0400",
        "id" : "7481be86dd5178e393327f194df98c985f1392b9",
        "msg" : "Implement xAPI State resource database storage and migration to version 18",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentShaDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/shared/SharedConverters.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentShaDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiStateDocumentAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDocumentShaEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiActivityProfileDocumentShaEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiStateDocumentAndShaEntities.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiStateResourceAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiActorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/ext/XapiDocumentExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiStateResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/18.json"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStateResourceRoute.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
        ],
        "commitId" : "830ba89b25fbcbf10e15d7be093022a721ee1698",
        "timestamp" : 1790009870000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add xAPI State resource HTTP client and server route\u000a",
        "date" : "2026-09-21 20:57:50 +0400",
        "id" : "830ba89b25fbcbf10e15d7be093022a721ee1698",
        "msg" : "Add xAPI State resource HTTP client and server route",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiStateResourceRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt"
        ],
        "commitId" : "1667f23c409416362154b7d78671489d9180d94e",
        "timestamp" : 1790011846000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class\u000a",
        "date" : "2026-09-21 21:30:46 +0400",
        "id" : "1667f23c409416362154b7d78671489d9180d94e",
        "msg" : "Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
        ],
        "commitId" : "50137ed31af5059ca8f3d9eaa165a03d50f51eab",
        "timestamp" : 1790012078000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class\u000a",
        "date" : "2026-09-21 21:34:38 +0400",
        "id" : "50137ed31af5059ca8f3d9eaa165a03d50f51eab",
        "msg" : "Extract AbstractXapiDocumentResourceRepositoryIntegrationTest base test class",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
        ],
        "commitId" : "7cf928c31fa9548ef1424965d95d5d86e24dcc15",
        "timestamp" : 1790013331000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement XapiStateResourceRepository\u000a",
        "date" : "2026-09-21 21:55:31 +0400",
        "id" : "7cf928c31fa9548ef1424965d95d5d86e24dcc15",
        "msg" : "Implement XapiStateResourceRepository",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepository.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentEntity.kt",
          "app-server/src/main/kotlin/world/respect/server/Application.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt",
          "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt",
          "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAgentProfileDocumentAdapter.kt",
          "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentShaEntity.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentProfileResourceLocal.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentShaDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
        ],
        "commitId" : "8e677442f2e34eb2b726e9631d4b150d95f65c6e",
        "timestamp" : 1790079166000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Implement xAPI Agent Profile resource\u000a",
        "date" : "2026-09-22 16:12:46 +0400",
        "id" : "8e677442f2e34eb2b726e9631d4b150d95f65c6e",
        "msg" : "Implement xAPI Agent Profile resource",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiResourceLocal.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/XapiRemoteWriteQueueItem.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDeleteCommandDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateEntityDao.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/local/XapiAgentProfileResourceLocal.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepository.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectSchoolDatabase/19.json"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiResource.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiStateDeleteCommand.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/remotewritequeue/DrainXapiRemoteWriteQueueUseCase.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-http-server/src/commonMain/kotlin/world/respect/datalayer/http/server/XapiAgentProfileResourceRoute.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/commonMain/kotlin/world/respect/datalayer/repository/school/xapi/XapiResourceRepository.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentShaDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAssignmentProgressEntityRow.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectSchoolDatabase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/adapters/XapiAgentProfileDocumentAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/composites/XapiAgentProfileDocumentAndShaEntities.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentShaEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiAgentProfileResourceAssertions.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/entities/XapiAgentProfileDocumentEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/commonMain/kotlin/world/respect/datalayer/http/school/xapi/XapiResourceHttpClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt",
          "lib-ihttp-core/README.md",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt",
          "lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt",
          "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt",
          "app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt",
          "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt",
          "README.md",
          "app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt",
          "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt"
        ],
        "commitId" : "ef2dd76eb0fd8e2c2e9658586434f96cd696a39e",
        "timestamp" : 1790178862000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Remove obsolete models and add authentication options to SchoolDirectoryEntry.\u000a",
        "date" : "2026-09-23 19:54:22 +0400",
        "id" : "ef2dd76eb0fd8e2c2e9658586434f96cd696a39e",
        "msg" : "Remove obsolete models and add authentication options to SchoolDirectoryEntry.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/SchoolDirectoryEntryDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabaseMigrations.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserId.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryAuthOptionEntity.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ihttp-core/README.md"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUser.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/SchoolDirectoryEntry.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/RespectAppDatabase.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClass.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterEnrollment.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/composites/ClazzListDetails.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/10.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterResourceGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserProfile.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/account/RespectAccount.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/daos/SchoolDirectoryEntryAuthOptionEntityDao.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterBaseStatusEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterUserGUIDRef.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/invite/AuthOptionConfigTypeEnum.kt"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/adapters/SchoolDirectoryEntryAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-server/src/main/kotlin/world/respect/server/domain/school/add/RegisterSchoolUseCaseImpl.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnum.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/jvmMain/kotlin/world/respect/shared/domain/opds/validator/ValidateOpdsPublicationUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-server/src/main/kotlin/world/respect/server/ManagerServerCLI.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleEnumExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthenticationOption.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGenderEnum.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/respectappmanifest/model/RespectSite.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRole.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/entities/PersonEntity.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/UidNumberMapper.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterOrgGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/util/GenderToString.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/schemas/world.respect.datalayer.db.RespectAppDatabase/11.json"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterClassGUIDRef.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/school/model/Person.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterGUIDRef.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/oneroster/model/OneRosterRoleTypeEnum.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/ClientServerDatasourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/schooldirectory/entities/SchoolDirectoryEntryEntity.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer/src/commonMain/kotlin/world/respect/datalayer/respect/model/AuthOptionConfig.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/README_XAPI_SQL_QUERY.md"
        ],
        "commitId" : "71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3",
        "timestamp" : 1790242625000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.\u000a",
        "date" : "2026-09-24 13:37:05 +0400",
        "id" : "71bfc9ecd378c49409a65ac2ebcdfee806c9fcf3",
        "msg" : "Update README_XAPI_SQL_QUERY.md recipe - add parent id for query-response.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/README_XAPI_SQL_QUERY.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt",
          "lib-xapi-nanohttpd/AGENTS.md",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt",
          "lib-xapi-nanohttpd/build.gradle.kts",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt"
        ],
        "commitId" : "6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43",
        "timestamp" : 1790324036000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor statement handling into StatementResourceResponder and add tests\u000a",
        "date" : "2026-09-25 12:13:56 +0400",
        "id" : "6dd9d70a2ad64d425ff1b383e60eec2ce8ff5d43",
        "msg" : "Refactor statement handling into StatementResourceResponder and add tests",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiResourceProviderExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/LogResponse.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NanoHttpdXapiResponder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/AGENTS.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt"
        ],
        "commitId" : "532bc906ffa34ddbb9ef16c2558aa16d147099f8",
        "timestamp" : 1790344131000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add xAPI State resource responder in NanoHTTPD\u000a",
        "date" : "2026-09-25 17:48:51 +0400",
        "id" : "532bc906ffa34ddbb9ef16c2558aa16d147099f8",
        "msg" : "Add xAPI State resource responder in NanoHTTPD",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/NewNoCnotentResponse.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdResponseExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/AbstractXapiDocumentResourceResponder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/XapiDocumentExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt"
        ],
        "commitId" : "4f49d34ee2e085c1fea6d13bef1db2147de881f7",
        "timestamp" : 1790344141000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add xAPI State resource responder in NanoHTTPD\u000a",
        "date" : "2026-09-25 17:49:01 +0400",
        "id" : "4f49d34ee2e085c1fea6d13bef1db2147de881f7",
        "msg" : "Add xAPI State resource responder in NanoHTTPD",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt",
          "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt"
        ],
        "commitId" : "bc9ca414264225b7baae09c6bc4edcfd09082f2b",
        "timestamp" : 1790345194000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Activity and Agent Profile resources to lib-xapi-nanohttpd\u000a",
        "date" : "2026-09-25 18:06:34 +0400",
        "id" : "bc9ca414264225b7baae09c6bc4edcfd09082f2b",
        "msg" : "Add Activity and Agent Profile resources to lib-xapi-nanohttpd",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiStateResourceResponder.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/XapiNanoHttpdApp.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/ext/NanoHttpdSessionExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiAgentProfileResourceResponder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/XapiActivityProfileResourceResponder.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/commonMain/kotlin/world/respect/lib/xapi/nanohttpd/resources/StatementResourceResponder.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-server/src/main/kotlin/world/respect/server/Application.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt"
        ],
        "commitId" : "a9b542c379201dadc2b83628271fe759d4b22468",
        "timestamp" : 1790351054000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.\u000a",
        "date" : "2026-09-25 19:44:14 +0400",
        "id" : "a9b542c379201dadc2b83628271fe759d4b22468",
        "msg" : "Add state resource to Application.kt and fix GetLaunchOptionsForPublicationUseCase.kt url resolution.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "app-server/src/main/kotlin/world/respect/server/Application.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/getlaunchoptionsforpublication/GetLaunchOptionsForPublicationUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt",
          "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt",
          "README_ADD_YOUR_APP.md",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt",
          "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt",
          "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt",
          "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt",
          "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt"
        ],
        "commitId" : "dc66f8d0fb256ba2e927b12a6399e99a079e8889",
        "timestamp" : 1790602139000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.\u000a",
        "date" : "2026-09-28 17:28:59 +0400",
        "id" : "dc66f8d0fb256ba2e927b12a6399e99a079e8889",
        "msg" : "Update XapiStateResource to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiStateResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/GetAuthenticatedXapiAgentsUseCaseDbImpl.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiActivityProfileResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/auth/GetAuthenticatedXapiAgentsUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/WithNanoHttpdXapiResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStateResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStateResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiStatementRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/WithEmbeddedDataSourceServer.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/SchoolDataSourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiActivityProfileResourceRepositoryTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/AbstractXapiDocumentResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiActivityProfileResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiStatementResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-test/src/jvmMain/kotlin/world/respect/lib/test/clientservertest/NewLocalDataSource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-http-client/src/jvmTest/kotlin/world/respect/datalayer/http/school/xapi/XapiAgentProfileResourceHttpClientTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/XapiAgentProfileResourceRepositoryIntegrationTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/TestSchoolDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-nanohttpd/src/jvmTest/kotlin/world/respect/lib/xapi/nanohttpd/XapiAgentProfileResourceNanoHttpdTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-repository/src/jvmTest/kotlin/world/respect/datalayer/repository/school/xapi/WithEmbeddedServerAndRepoClients.kt"
          },
          {
            "editType" : "edit",
            "file" : "README_ADD_YOUR_APP.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt"
        ],
        "commitId" : "efdc6836609e04d67a28ec68ca5fecdcfcc9389c",
        "timestamp" : 1790604419000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.\u000a",
        "date" : "2026-09-28 18:06:59 +0400",
        "id" : "efdc6836609e04d67a28ec68ca5fecdcfcc9389c",
        "msg" : "Update XapiAgentProfileResourceDb to enforce permission requirements: allow access to state only for the authenticated users related xapi agents.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-shared/build.gradle.kts",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt",
          "lib-xapi-ipc-shared/README.md",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt",
          ".junie/guidelines.md",
          "lib-xapi-ipc-shared/AGENTS.md",
          "lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt",
          "lib-datalayer-db/AGENTS.md"
        ],
        "commitId" : "4590826c4dce9753efdd28a083301f5d917c4850",
        "timestamp" : 1790611835000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XapiDocument bundle adapter for IPC\u000a",
        "date" : "2026-09-28 20:10:35 +0400",
        "id" : "4590826c4dce9753efdd28a083301f5d917c4850",
        "msg" : "Add XapiDocument bundle adapter for IPC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/README.md"
          },
          {
            "editType" : "add",
            "file" : ".junie/guidelines.md"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/androidTest/java/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapterTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt",
          "lib-xapi-ipc-client/AGENTS.md",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt",
          "lib-xapi-ipc-server/AGENTS.md",
          "lib-xapi-ipc-shared/AGENTS.md"
        ],
        "commitId" : "bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1",
        "timestamp" : 1790664641000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add XapiStatementResource IPC tests and update IPC bundle serialization\u000a",
        "date" : "2026-09-29 10:50:41 +0400",
        "id" : "bf9c2879ec5ba1eae3c3dbea3b75a0a7be857bd1",
        "msg" : "Add XapiStatementResource IPC tests and update IPC bundle serialization",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/AGENTS.md"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataReadyStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/AGENTS.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt",
          "lib-xapi-ipc-server/build.gradle.kts",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
        ],
        "commitId" : "f6b1de5f635ffc7476de454ea7acd837459a7867",
        "timestamp" : 1790671033000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.\u000a",
        "date" : "2026-09-29 12:37:13 +0400",
        "id" : "f6b1de5f635ffc7476de454ea7acd837459a7867",
        "msg" : "Initial implementation of XapiStateResource over IPC and refactor xapi-ipc tests to use the same abstract tests used for database, http, and repository implementations.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/XapiDocumentAdapter.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/IpcTestApplication.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcKeys.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/build.gradle.kts"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStatementResourceIpcTest.kt"
          },
          {
            "editType" : "delete",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiServiceIntegrationTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt",
          "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt"
        ],
        "commitId" : "cddb1f3275d3901a8d88985fa0b99d82deef140b",
        "timestamp" : 1790674466000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Bundle query parameter helpers and update xAPI IPC to use Parameters\u000a",
        "date" : "2026-09-29 13:34:26 +0400",
        "id" : "cddb1f3275d3901a8d88985fa0b99d82deef140b",
        "msg" : "Add Bundle query parameter helpers and update xAPI IPC to use Parameters",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiActivityProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiAgentProfileResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleStringValues.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStatementsResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleParameters.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-core/src/commonMain/kotlin/world/respect/lib/xapi/resources/XapiStateResource.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/ParametersExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
        ],
        "commitId" : "4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009",
        "timestamp" : 1790679504000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod\u000a",
        "date" : "2026-09-29 14:58:24 +0400",
        "id" : "4ecaae9a7bb9ca2935fe2775247b1adc2b6b4009",
        "msg" : "Refactor XapiIpcResourceFlags and add XapiIpcResourceAndMethod",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceAndMethod.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceEnum.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcMethodEnum.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt"
        ],
        "commitId" : "9da84a63b24916c7e3b21a1e45db41179e4396f6",
        "timestamp" : 1790684723000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Refactor XapiIpcService message handling into dedicated resource handlers.\u000a",
        "date" : "2026-09-29 16:25:23 +0400",
        "id" : "9da84a63b24916c7e3b21a1e45db41179e4396f6",
        "msg" : "Refactor XapiIpcService message handling into dedicated resource handlers.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/XapiResourceProviderExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcResourceIncomingHandler.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
        ],
        "commitId" : "001f142bfd024f2c79af1326d8d9f097761a3b93",
        "timestamp" : 1790686252000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add BundleHeaders and refactor IPC bundle header and query parameter helpers\u000a",
        "date" : "2026-09-29 16:50:52 +0400",
        "id" : "001f142bfd024f2c79af1326d8d9f097761a3b93",
        "msg" : "Add BundleHeaders and refactor IPC bundle header and query parameter helpers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStatementsResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/HeadersExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcStateResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/BundleHeaders.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/DataLoadStateExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt"
        ],
        "commitId" : "0fac688c04b94da31ccaa95c51a05dc2fb0fffe3",
        "timestamp" : 1790701915000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle document resource IPC requests asynchronously\u000a",
        "date" : "2026-09-29 21:11:55 +0400",
        "id" : "0fac688c04b94da31ccaa95c51a05dc2fb0fffe3",
        "msg" : "Handle document resource IPC requests asynchronously",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiStateResourceIpcTest.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/MessengerExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt"
        ],
        "commitId" : "57a1553afc5831edb16dcef7960a0fc8fc9b1b15",
        "timestamp" : 1790765358000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper\u000a",
        "date" : "2026-09-30 14:49:18 +0400",
        "id" : "57a1553afc5831edb16dcef7960a0fc8fc9b1b15",
        "msg" : "Handle xAPI IPC server statement resource requests asynchronously and add flow completion cleanup helper",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/StatementsResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/FlowCollectorExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt",
          "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt"
        ],
        "commitId" : "62d6551c2f877ff6c9cda56e7781561fb24ae622",
        "timestamp" : 1790768294000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add Activity Profile and Agent Profile IPC support.\u000a",
        "date" : "2026-09-30 15:38:14 +0400",
        "id" : "62d6551c2f877ff6c9cda56e7781561fb24ae622",
        "msg" : "Add Activity Profile and Agent Profile IPC support.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiResourceIpcClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcAgentProfileResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/ext/MessageDataExt.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/ext/BundleExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcActivityProfileResourceIncomingHandler.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiAgentProfileResourceIpcTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-shared/src/main/kotlin/world/respect/xapi/ipc/shared/messages/XapiIpcResourceFlags.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/XapiActivityProfileResourceIpcTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt",
          "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt"
        ],
        "commitId" : "51485ce7d9a4c45fc42969f2abf14787d5ced704",
        "timestamp" : 1790768661000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients\u000a",
        "date" : "2026-09-30 15:44:21 +0400",
        "id" : "51485ce7d9a4c45fc42969f2abf14787d5ced704",
        "msg" : "Use throwXapiExceptionIfStatusNotSuccessful extension in xAPI IPC resource clients",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiAgentProfileResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiActivityProfileResourceIpcClient.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-client/src/main/kotlin/world/respect/xapi/ipc/client/XapiStateResourceIpcClient.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt",
          "lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt",
          "lib-xapi-test/build.gradle.kts",
          "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt",
          "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt",
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt"
        ],
        "commitId" : "279faf43f09e11139758541d034ec367c0895cc4",
        "timestamp" : 1790775367000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add tests for retrieving xAPI documents as Flow and fix IPC flow completion\u000a",
        "date" : "2026-09-30 17:36:07 +0400",
        "id" : "279faf43f09e11139758541d034ec367c0895cc4",
        "msg" : "Add tests for retrieving xAPI documents as Flow and fix IPC flow completion",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/androidTest/java/world/respect/xapi/ipc/server/WithXapiResourceIpc.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-ipc-messagebridge/src/main/kotlin/org/openeel/lib/ipc/messagebridge/IpcMessageBridgeMessengerImpl.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/XapiDocumentAssertions.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiAgentProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiStateResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/build.gradle.kts"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiActivityProfileResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/XapiIpcService.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-ipc-server/src/main/kotlin/world/respect/xapi/ipc/server/ext/AbstractDocumentResourceIncomingHandler.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt",
          "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt",
          "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt",
          "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt"
        ],
        "commitId" : "d13b8a230950a228bb2e9ebf29ee387d0803f0f5",
        "timestamp" : 1790777538000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Quote ETag values in xAPI document resources and queries\u000a",
        "date" : "2026-09-30 18:12:18 +0400",
        "id" : "d13b8a230950a228bb2e9ebf29ee387d0803f0f5",
        "msg" : "Quote ETag values in xAPI document resources and queries",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-dataloadstate/src/commonMain/kotlin/world/respect/lib/dataloadstate/ETagAndLastModified.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-xapi-test/src/commonMain/kotlin/org/openeel/libxapi/test/AbstractXapiDocumentResourceTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiAgentProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiAgentProfileResourceDbTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/XapiStateResourceDb.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiActivityProfileDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/commonMain/kotlin/world/respect/datalayer/db/school/xapi/daos/XapiStateDocumentDao.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-datalayer-db/src/jvmTest/kotlin/world/respect/datalayer/db/school/xapi/XapiActivityProfileResourceDbTest.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "app-android/src/main/kotlin/world/respect/AppKoinModule.kt",
          "lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt",
          "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt",
          "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt",
          "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt"
        ],
        "commitId" : "4d2a4f4e44b3e5cfecc841da185645457dc1013a",
        "timestamp" : 1790788510000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321\u000a",
        "date" : "2026-09-30 21:15:10 +0400",
        "id" : "4d2a4f4e44b3e5cfecc841da185645457dc1013a",
        "msg" : "Set package on ACTION_LAUNCH intent when launching OpenEEL apps. Avoid launching a native app that is not actually linked to the given publication. Fixes issue #321",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCase.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/catalog/publicationdetail/PublicationDetailViewModel.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpenEelConstants.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-shared/src/androidMain/kotlin/world/respect/shared/domain/launchapp/LaunchAppUseCaseAndroid.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/jvmTest/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCaseTest.kt"
          },
          {
            "editType" : "edit",
            "file" : "app-android/src/main/kotlin/world/respect/AppKoinModule.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-opds-model/src/commonMain/kotlin/world/respect/lib/opds/model/OpdsPublicationExt.kt"
          },
          {
            "editType" : "add",
            "file" : "lib-shared/src/commonMain/kotlin/world/respect/shared/domain/launchapp/GetAndroidPackageIdForLaunchableAppUseCase.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-xapi-core/README_PERMISSIONS.md",
          "lib-xapi-core/README_PERMISSION_RECIPE.md"
        ],
        "commitId" : "9cea818ba83b6b2052e34a92bd08d6268628382d",
        "timestamp" : 1790859279000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Update permissions concept README.\u000a",
        "date" : "2026-10-01 16:54:39 +0400",
        "id" : "9cea818ba83b6b2052e34a92bd08d6268628382d",
        "msg" : "Update permissions concept README.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "lib-xapi-core/README_PERMISSIONS.md"
          },
          {
            "editType" : "delete",
            "file" : "lib-xapi-core/README_PERMISSION_RECIPE.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt"
        ],
        "commitId" : "6f211e0949e3a26ab55107153b207b2ad555850d",
        "timestamp" : 1790862214000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Make detail screens scrollable, adjust padding\u000a",
        "date" : "2026-10-01 17:43:34 +0400",
        "id" : "6f211e0949e3a26ab55107153b207b2ad555850d",
        "msg" : "Make detail screens scrollable, adjust padding",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/publicationdetail/PublicationDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/catalog/opdsfeeddetail/OpdsFeedDetailScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/home/HomeScreen.kt"
          },
          {
            "editType" : "edit",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/view/apps/detail/AppsDetailScreen.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "lib-shared/src/commonMain/composeResources/values/strings.xml",
          "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt"
        ],
        "commitId" : "bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d",
        "timestamp" : 1790927239000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Add show more/show less option to AlternativeLangLinks.kt\u000a",
        "date" : "2026-10-02 11:47:19 +0400",
        "id" : "bc3d7f1d0269be4da0fa4d9a40da9de52fb0660d",
        "msg" : "Add show more/show less option to AlternativeLangLinks.kt",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "lib-shared/src/commonMain/composeResources/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "lib-appui-compose/src/commonMain/kotlin/world/respect/app/components/AlternativeLangLinks.kt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "gradle.properties"
        ],
        "commitId" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
        "timestamp" : 1790927623000,
        "author" : {
          "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
          "fullName" : "Mike Dawson"
        },
        "authorEmail" : "mike@ustadmobile.com",
        "comment" : "Bump version\u000a",
        "date" : "2026-10-02 11:53:43 +0400",
        "id" : "c8213a6965b8081aeb8b10af77f59881d16281b9",
        "msg" : "Bump version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "gradle.properties"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mike",
      "fullName" : "Mike Dawson"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/mandvi.verma",
      "fullName" : "mandvi.verma"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/lipsa.behera",
      "fullName" : "lipsa.behera"
    },
    {
      "absoluteUrl" : "https://devserver3.ustadmobile.com/jenkins/user/pooja",
      "fullName" : "Pooja Ravi"
    }
  ]
}