From bbfb771ed0abf2cac979a6968ac6469d0570ae3c Mon Sep 17 00:00:00 2001
From: James Yoo <jyoo980@gmail.com>
Date: Thu, 28 Sep 2023 18:11:42 -0700
Subject: [PATCH 1/4] Update manual with subsection for WPI results

---
 docs/manual/inference.tex | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex
index 0347926af72..d4291b64601 100644
--- a/docs/manual/inference.tex
+++ b/docs/manual/inference.tex
@@ -229,6 +229,22 @@
 
 You may need to wait a few minutes for the command to complete.
 
+\subsectionAndLabel{Whole-program inference results}{wpi-results}
+
+The result of invoking \<wpi.sh> are log files stored in the \<dljc-out/> folder
+of the target project.
+The \<dljc-out/> folder contains:
+
+\begin{itemize}
+\item \<build\_output.txt>: Logs collected from compiling the target project
+  using the build file found at the top-level directory.
+\item \<javac.json>: TODO
+\item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target
+  project, including build time, the number of built \<.jar> files, the number of
+  executable \<.jar> files, the number of \<javac> invocations, and the number of
+  source files.
+\item \<wpi-stdout.log>: TODO
+\end{itemize}
 
 \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements}
 

From 586559e007423380345040d16885582ebab30822 Mon Sep 17 00:00:00 2001
From: James Yoo <jyoo980@gmail.com>
Date: Thu, 28 Sep 2023 18:32:30 -0700
Subject: [PATCH 2/4] Add line about typecheck.out

---
 docs/manual/inference.tex | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex
index d4291b64601..ad865a82582 100644
--- a/docs/manual/inference.tex
+++ b/docs/manual/inference.tex
@@ -243,7 +243,13 @@
   project, including build time, the number of built \<.jar> files, the number of
   executable \<.jar> files, the number of \<javac> invocations, and the number of
   source files.
-\item \<wpi-stdout.log>: TODO
+\item \<typecheck.out>: The final results of type-checking obtained with the
+  latest iteration of WPI (i.e., the most precise, consistent set of
+  annotations).
+\item \<wpi-stdout>: The results of type-checking with each candidate set of
+  annotations.
+  The final results (i.e., those obtained using the most precise, consistent
+  set of annotations) will appear at the end of this file.
 \end{itemize}
 
 \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements}

From 5f4d797c778d9390a86764d4efba9a2ad90e3c9a Mon Sep 17 00:00:00 2001
From: James Yoo <jyoo980@gmail.com>
Date: Thu, 28 Sep 2023 21:40:04 -0700
Subject: [PATCH 3/4] Add descriptions for more WPI-generated files

---
 docs/manual/inference.tex | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex
index ad865a82582..0facd307267 100644
--- a/docs/manual/inference.tex
+++ b/docs/manual/inference.tex
@@ -139,10 +139,9 @@
 \end{Verbatim}
 
 The result is a set of log files placed in the \<dljc-out/> folder of the
-target project. The results of type-checking with each candidate set of
-annotations will be concatenated into the file \<dljc-out/wpi-stdout.log>; the final
-results (i.e., those obtained using the most precise, consistent set of annotations)
-will appear at the end of this file.
+target project.
+See Section~\ref{wpi-results} for an explanation of the log files generated by
+an invocation of \<wpi.sh>.
 The inferred annotations appear in \<.ajava> files in a
 temporary directory whose name appears in the \<dlcj-out/wpi-stdout.log> file;
 you can find their location by examining the \<-Aajava> argument
@@ -238,7 +237,8 @@
 \begin{itemize}
 \item \<build\_output.txt>: Logs collected from compiling the target project
   using the build file found at the top-level directory.
-\item \<javac.json>: TODO
+\item \<javac.json>: The list of all `.java` files for which inference was
+  attempted by \<wpi.sh>, and the options passed to \<javac>.
 \item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target
   project, including build time, the number of built \<.jar> files, the number of
   executable \<.jar> files, the number of \<javac> invocations, and the number of
@@ -246,10 +246,12 @@
 \item \<typecheck.out>: The final results of type-checking obtained with the
   latest iteration of WPI (i.e., the most precise, consistent set of
   annotations).
-\item \<wpi-stdout>: The results of type-checking with each candidate set of
+\item \<wpi-stdout.log>: The results of type-checking with each candidate set of
   annotations.
   The final results (i.e., those obtained using the most precise, consistent
   set of annotations) will appear at the end of this file.
+\item \<toplevel.log>: The log of the command executed at the top-level of the
+  target directory to invoke whole-program inference.
 \end{itemize}
 
 \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements}

From db000a3e5576ccd93d9f9121475c0e1abc9aea36 Mon Sep 17 00:00:00 2001
From: James Yoo <jyoo980@gmail.com>
Date: Fri, 29 Sep 2023 09:45:45 -0700
Subject: [PATCH 4/4] Addressing Martin's PR comments

---
 docs/manual/inference.tex | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/docs/manual/inference.tex b/docs/manual/inference.tex
index 0facd307267..2d55d90da57 100644
--- a/docs/manual/inference.tex
+++ b/docs/manual/inference.tex
@@ -235,23 +235,28 @@
 The \<dljc-out/> folder contains:
 
 \begin{itemize}
-\item \<build\_output.txt>: Logs collected from compiling the target project
-  using the build file found at the top-level directory.
-\item \<javac.json>: The list of all `.java` files for which inference was
-  attempted by \<wpi.sh>, and the options passed to \<javac>.
-\item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target
-  project, including build time, the number of built \<.jar> files, the number of
-  executable \<.jar> files, the number of \<javac> invocations, and the number of
-  source files.
-\item \<typecheck.out>: The final results of type-checking obtained with the
-  latest iteration of WPI (i.e., the most precise, consistent set of
+\item \<typecheck.out>: The final error messages produced by \<javac>,
+  comprising the results of type-checking obtained with the
+  latest iteration of WPI (i.e., using the most precise, consistent set of
   annotations).
+\item \<build\_output.txt>: Logs collected from compiling the target project
+  without the Checker Framework, using the build file found at the
+  top-level directory.
 \item \<wpi-stdout.log>: The results of type-checking with each candidate set of
-  annotations.
+  annotations, concatenated together in the order in which the annotations
+  were inferred.
   The final results (i.e., those obtained using the most precise, consistent
   set of annotations) will appear at the end of this file.
+\item \<wpi-stdout-*>: These files are separate from the logs in \<wpi-stdout.log>.
+  They may be useful in the case where \<dljc> is not working as expected.
 \item \<toplevel.log>: The log of the command executed at the top-level of the
   target directory to invoke whole-program inference.
+\item \<javac.json>: The list of all \<.java> files for which inference was
+  attempted by \<wpi.sh>, and the options passed to \<javac>.
+\item \<stats.json>: Statistics from the invocation of \<wpi.sh> on the target
+  project, including build time, the number of built \<.jar> files, the number of
+  executable \<.jar> files, the number of \<javac> invocations, and the number of
+  source files.
 \end{itemize}
 
 \subsectionAndLabel{Requirements for whole-program inference scripts}{wpi-shared-requirements}