retain the OutputStore when include scanning

this avoids information loss about injected output
metadata. this change resolves the TODO.

Progress towards #6862

Closes #7268.

PiperOrigin-RevId: 235774773
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
index 14530b4..f14c119 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/ActionExecutionFunction.java
@@ -744,10 +744,6 @@
             state.inputArtifactData.putWithNoDepOwner(
                 ArtifactSkyKey.artifact(entry.getKey()), (FileArtifactValue) entry.getValue());
           }
-          // TODO(ulfjack): This causes information loss about omitted and injected outputs. Also
-          // see the documentation on MetadataHandler.artifactOmitted. This works by accident
-          // because markOmitted is only called for remote execution, and this code only gets
-          // executed for local execution.
           metadataHandler =
               new ActionMetadataHandler(
                   state.inputArtifactData,
@@ -755,7 +751,7 @@
                   action.getOutputs(),
                   tsgm.get(),
                   metadataHandler.getArtifactPathResolver(),
-                  state.actionFileSystem == null ? new OutputStore() : new MinimalOutputStore());
+                  metadataHandler.getOutputStore());
         }
       }
       Preconditions.checkState(!env.valuesMissing(), action);