diff --git a/.github/workflows/linux-eic-shell.yml b/.github/workflows/linux-eic-shell.yml
new file mode 100644
index 0000000000000000000000000000000000000000..bb29d15d16cb65927ccff703a0b62ccc238ea27a
--- /dev/null
+++ b/.github/workflows/linux-eic-shell.yml
@@ -0,0 +1,22 @@
+name: linux-eic-shell
+
+on: [push, pull_request]
+
+jobs:
+  build-test:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@v2
+    - uses: cvmfs-contrib/github-action-cvmfs@v2
+    - uses: eic/run-cvmfs-osg-eic-shell@main
+      with:
+        platform-release: "jug_xl:nightly"
+        run: |
+          PREFIX=${PWD}/install
+          cmake -B build -S . -DCMAKE_INSTALL_PREFIX=${PREFIX}
+          cmake --build build -- install
+    - uses: actions/upload-artifact@v3
+      with:
+        name: build-eic-shell
+        path: install/
+        if-no-files-found: error
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 75de8946e40f719a49668ce72d1d886ab4c6fd44..23e1379e0c5530bcbaa5b261a4b58293294246ee 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -57,7 +57,7 @@ checks:juggler:
   rules:
     - if: '$CI_SERVER_HOST == "eicweb.phy.anl.gov"' 
   variables:
-    EICD_VERSION: "$EIC_DATA_MODEL_VERSION"
+    JUGGLER_EICD_VERSION: "$EIC_DATA_MODEL_VERSION"
   trigger:
     project: EIC/juggler
     strategy: depend
diff --git a/eic_data.yaml b/eic_data.yaml
index 59b73a976c00ea772b8a9b2468e94f6f95c071e3..f524eb5cf08914bf653f368da113ba7751527079 100644
--- a/eic_data.yaml
+++ b/eic_data.yaml
@@ -238,19 +238,6 @@ datatypes:
   ## Particle info
   ## ==========================================================================
 
-  eicd::BasicParticle:
-    #DEPRECATED
-    Description: "Basic particle used internally to communicate basic particle properties."
-    Author: "W. Armstrong, S. Joosten"
-    Members:
-      - eicd::Vector3f    p                 // Momentum [GeV]
-      - eicd::Vector3d    v                 // Vertex [mm]
-      - float             time              // Time in [ns]
-      - int32_t           pid               // Particle PDG code
-      - int16_t           status            // Status code
-      - int16_t           charge            // Particle charge (or sign)
-      - float             weight            // Particle weight, e.g. from PID algorithm [0-1]
-
   eicd::ReconstructedParticle:
     Description: "EIC Reconstructed Particle"
     Author: "W. Armstrong, S. Joosten, F. Gaede"
@@ -556,7 +543,8 @@ datatypes:
     Description: "Used to keep track of the correspondence between MC and reconstructed particles"
     Author: "S. Joosten"
     Members:
-      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array) 
+      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array)
+      - uint32_t          recID             // Index of corresponding ReconstructedParticle (position in ReconstructedParticles array)
       - float             weight            // weight of this association
     OneToOneRelations :
       - eicd::ReconstructedParticle  rec    // reference to the reconstructed particle
@@ -567,7 +555,8 @@ datatypes:
     Description: "Association between a Cluster and a MCParticle"
     Author : "S. Joosten"
     Members:
-      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array) 
+      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array)
+      - uint32_t          recID             // Index of corresponding Cluster (position in Clusters array)
       - float             weight            // weight of this association
     OneToOneRelations:
       - eicd::Cluster     rec               // reference to the cluster
@@ -577,7 +566,8 @@ datatypes:
     Description: "Association between a Track and a MCParticle"
     Author : "S. Joosten"
     Members:
-      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array) 
+      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array)
+      - uint32_t          recID             // Index of corresponding Track (position in Tracks array)
       - float             weight            // weight of this association
     OneToOneRelations:
       - eicd::Track       rec               // reference to the track
@@ -588,7 +578,8 @@ datatypes:
     Description: "Association between a Vertex and a MCParticle"
     Author : "S. Joosten"
     Members:
-      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array) 
+      - uint32_t          simID             // Index of corresponding MCParticle (position in MCParticles array)
+      - uint32_t          recID             // Index of corresponding Vertex (position in Vertices array)
       - float             weight            // weight of this association
     OneToOneRelations:
       - eicd::Vertex       rec               // reference to the vertex