Remove Figure 2 from ARC Explorer technical paper
Browse files- downloads/ARC-Explorer-v0.1-ACM-source.zip +2 -2
- downloads/ARC-Explorer-v0.1-source.zip +2 -2
- downloads/ARC-Explorer.pdf +2 -2
- downloads/ARC-Explorer.tex +8 -13
- downloads/SHA256SUMS.txt +5 -5
- downloads/TECHNICAL_PAPER.md +2 -4
- paper/ARC-Explorer.pdf +2 -2
- paper/ARC-Explorer.tex +8 -13
- paper/TECHNICAL_PAPER.md +2 -4
downloads/ARC-Explorer-v0.1-ACM-source.zip
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:f866c108a57e4c9d791693f01fa78c80c646688b16628893095944787c01eb10
|
| 3 |
+
size 4016781
|
downloads/ARC-Explorer-v0.1-source.zip
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:36e3092e4e178d863926c125c7c4a9ba4f2c01d646e1fe48e7f8ef82ac6685d8
|
| 3 |
+
size 9648706
|
downloads/ARC-Explorer.pdf
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19f69305b55a3f74dbda116414d8efea417a6377673d5898768d02e6b73ec973
|
| 3 |
+
size 2105544
|
downloads/ARC-Explorer.tex
CHANGED
|
@@ -27,7 +27,7 @@
|
|
| 27 |
\geometry{top=0.75in,bottom=0.65in,includeheadfoot}
|
| 28 |
\begin{document}
|
| 29 |
\begin{abstract}
|
| 30 |
-
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service.
|
| 31 |
\end{abstract}
|
| 32 |
\keywords{high-performance computing, Slurm, SSH, macOS, scientific gateways, remote development}
|
| 33 |
\maketitle
|
|
@@ -64,7 +64,7 @@ Light mode is the default, with an explicit dark-mode option. The header uses a
|
|
| 64 |
|
| 65 |
\begin{figure}[!htb]
|
| 66 |
\centering
|
| 67 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/01-connection.png}
|
| 68 |
\caption{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 69 |
\Description{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 70 |
\end{figure}
|
|
@@ -81,16 +81,11 @@ The lightweight editor opens UTF-8 text files up to 1 MiB, supports new files an
|
|
| 81 |
|
| 82 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 83 |
|
| 84 |
-
|
| 85 |
-
\centering
|
| 86 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/02-resources.png}
|
| 87 |
-
\caption{Cropped Resources detail with allocation and date controls. The offline view contains no account balance or fabricated usage results.}
|
| 88 |
-
\Description{Cropped Resources detail with allocation and date controls. The offline view contains no account balance or fabricated usage results.}
|
| 89 |
-
\end{figure}
|
| 90 |
|
| 91 |
\begin{figure}[!htb]
|
| 92 |
\centering
|
| 93 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/06-file-editor.png}
|
| 94 |
\caption{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 95 |
\Description{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 96 |
\end{figure}
|
|
@@ -111,7 +106,7 @@ Repository retrieval does not automatically run arbitrary setup instructions. Th
|
|
| 111 |
|
| 112 |
\begin{figure}[!htb]
|
| 113 |
\centering
|
| 114 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/03-jobs-software.png}
|
| 115 |
\caption{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 116 |
\Description{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 117 |
\end{figure}
|
|
@@ -130,7 +125,7 @@ For an existing service on an allocated compute node, a tunnel maps a local loop
|
|
| 130 |
|
| 131 |
\begin{figure}[!htb]
|
| 132 |
\centering
|
| 133 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/04-sessions.png}
|
| 134 |
\caption{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 135 |
\Description{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 136 |
\end{figure}
|
|
@@ -147,7 +142,7 @@ The transport requires HTTPS and refuses HTTP redirects, preventing automatic fo
|
|
| 147 |
|
| 148 |
\begin{figure}[!htb]
|
| 149 |
\centering
|
| 150 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/05-help.png}
|
| 151 |
\caption{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 152 |
\Description{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 153 |
\end{figure}
|
|
@@ -158,7 +153,7 @@ The v0.1 release build passes 28 Python tests and two Swift terminal tests. Pyth
|
|
| 158 |
|
| 159 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 160 |
|
| 161 |
-
The
|
| 162 |
|
| 163 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 164 |
|
|
|
|
| 27 |
\geometry{top=0.75in,bottom=0.65in,includeheadfoot}
|
| 28 |
\begin{document}
|
| 29 |
\begin{abstract}
|
| 30 |
+
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service. Five application screenshots illustrate the workspace.
|
| 31 |
\end{abstract}
|
| 32 |
\keywords{high-performance computing, Slurm, SSH, macOS, scientific gateways, remote development}
|
| 33 |
\maketitle
|
|
|
|
| 64 |
|
| 65 |
\begin{figure}[!htb]
|
| 66 |
\centering
|
| 67 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/01-connection.png}
|
| 68 |
\caption{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 69 |
\Description{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 70 |
\end{figure}
|
|
|
|
| 81 |
|
| 82 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 83 |
|
| 84 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
|
| 86 |
\begin{figure}[!htb]
|
| 87 |
\centering
|
| 88 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/06-file-editor.png}
|
| 89 |
\caption{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 90 |
\Description{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 91 |
\end{figure}
|
|
|
|
| 106 |
|
| 107 |
\begin{figure}[!htb]
|
| 108 |
\centering
|
| 109 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/03-jobs-software.png}
|
| 110 |
\caption{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 111 |
\Description{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 112 |
\end{figure}
|
|
|
|
| 125 |
|
| 126 |
\begin{figure}[!htb]
|
| 127 |
\centering
|
| 128 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/04-sessions.png}
|
| 129 |
\caption{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 130 |
\Description{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 131 |
\end{figure}
|
|
|
|
| 142 |
|
| 143 |
\begin{figure}[!htb]
|
| 144 |
\centering
|
| 145 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/05-help.png}
|
| 146 |
\caption{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 147 |
\Description{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 148 |
\end{figure}
|
|
|
|
| 153 |
|
| 154 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 155 |
|
| 156 |
+
The five figures are captures of the application interface, all captured from the signed release build. The images are cropped to remove unused space and pointer/hover overlays. They deliberately show offline states and omit live account results and credentials. Screenshots document layout and available controls; they are not measurements of scheduler or API success. Earlier development included remote smoke checks, but this report's quantified release evidence is limited to the test suite stated above.
|
| 157 |
|
| 158 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 159 |
|
downloads/SHA256SUMS.txt
CHANGED
|
@@ -1,8 +1,8 @@
|
|
| 1 |
-
|
| 2 |
d191bfec4f50e94616f619a626f0e57a88a6b19d2d2690a54b339c33e83cc72d ARC-Explorer-v0.1-macOS-arm64.zip
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
b91fde80a00748a7c4aa1bae38c1393d56205b0e477eb53acce4b0af75af73c1 RELEASE_MANIFEST.json
|
| 7 |
-
|
| 8 |
b77ab878545470030b4472e0b577809576ffcc23a14e211dee072d2b3dd8dae0 references.bib
|
|
|
|
| 1 |
+
f866c108a57e4c9d791693f01fa78c80c646688b16628893095944787c01eb10 ARC-Explorer-v0.1-ACM-source.zip
|
| 2 |
d191bfec4f50e94616f619a626f0e57a88a6b19d2d2690a54b339c33e83cc72d ARC-Explorer-v0.1-macOS-arm64.zip
|
| 3 |
+
36e3092e4e178d863926c125c7c4a9ba4f2c01d646e1fe48e7f8ef82ac6685d8 ARC-Explorer-v0.1-source.zip
|
| 4 |
+
19f69305b55a3f74dbda116414d8efea417a6377673d5898768d02e6b73ec973 ARC-Explorer.pdf
|
| 5 |
+
3272ebe6409be7aa36aed7516edb1960c666bd56ce872e27bcd70a069290ed43 ARC-Explorer.tex
|
| 6 |
b91fde80a00748a7c4aa1bae38c1393d56205b0e477eb53acce4b0af75af73c1 RELEASE_MANIFEST.json
|
| 7 |
+
fa787402390919a5d946071bcf96682d68c34f7f95084bc5009d0c3137961bc4 TECHNICAL_PAPER.md
|
| 8 |
b77ab878545470030b4472e0b577809576ffcc23a14e211dee072d2b3dd8dae0 references.bib
|
downloads/TECHNICAL_PAPER.md
CHANGED
|
@@ -8,7 +8,7 @@ Technical report · ARC Explorer v0.1 · November 13, 2026
|
|
| 8 |
|
| 9 |
## Abstract
|
| 10 |
|
| 11 |
-
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service.
|
| 12 |
|
| 13 |
## 1. Motivation and context
|
| 14 |
|
|
@@ -54,8 +54,6 @@ The lightweight editor opens UTF-8 text files up to 1 MiB, supports new files an
|
|
| 54 |
|
| 55 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 56 |
|
| 57 |
-

|
| 58 |
-
|
| 59 |

|
| 60 |
|
| 61 |
## 5. Jobs + software: resource requests and reproducible scripts
|
|
@@ -106,7 +104,7 @@ The v0.1 release build passes 28 Python tests and two Swift terminal tests. Pyth
|
|
| 106 |
|
| 107 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 108 |
|
| 109 |
-
The
|
| 110 |
|
| 111 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 112 |
|
|
|
|
| 8 |
|
| 9 |
## Abstract
|
| 10 |
|
| 11 |
+
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service. Five application screenshots illustrate the workspace.
|
| 12 |
|
| 13 |
## 1. Motivation and context
|
| 14 |
|
|
|
|
| 54 |
|
| 55 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 56 |
|
|
|
|
|
|
|
| 57 |

|
| 58 |
|
| 59 |
## 5. Jobs + software: resource requests and reproducible scripts
|
|
|
|
| 104 |
|
| 105 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 106 |
|
| 107 |
+
The five figures are captures of the application interface, all captured from the signed release build. The images are cropped to remove unused space and pointer/hover overlays. They deliberately show offline states and omit live account results and credentials. Screenshots document layout and available controls; they are not measurements of scheduler or API success. Earlier development included remote smoke checks, but this report's quantified release evidence is limited to the test suite stated above.
|
| 108 |
|
| 109 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 110 |
|
paper/ARC-Explorer.pdf
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:19f69305b55a3f74dbda116414d8efea417a6377673d5898768d02e6b73ec973
|
| 3 |
+
size 2105544
|
paper/ARC-Explorer.tex
CHANGED
|
@@ -27,7 +27,7 @@
|
|
| 27 |
\geometry{top=0.75in,bottom=0.65in,includeheadfoot}
|
| 28 |
\begin{document}
|
| 29 |
\begin{abstract}
|
| 30 |
-
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service.
|
| 31 |
\end{abstract}
|
| 32 |
\keywords{high-performance computing, Slurm, SSH, macOS, scientific gateways, remote development}
|
| 33 |
\maketitle
|
|
@@ -64,7 +64,7 @@ Light mode is the default, with an explicit dark-mode option. The header uses a
|
|
| 64 |
|
| 65 |
\begin{figure}[!htb]
|
| 66 |
\centering
|
| 67 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/01-connection.png}
|
| 68 |
\caption{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 69 |
\Description{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 70 |
\end{figure}
|
|
@@ -81,16 +81,11 @@ The lightweight editor opens UTF-8 text files up to 1 MiB, supports new files an
|
|
| 81 |
|
| 82 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 83 |
|
| 84 |
-
|
| 85 |
-
\centering
|
| 86 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/02-resources.png}
|
| 87 |
-
\caption{Cropped Resources detail with allocation and date controls. The offline view contains no account balance or fabricated usage results.}
|
| 88 |
-
\Description{Cropped Resources detail with allocation and date controls. The offline view contains no account balance or fabricated usage results.}
|
| 89 |
-
\end{figure}
|
| 90 |
|
| 91 |
\begin{figure}[!htb]
|
| 92 |
\centering
|
| 93 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/06-file-editor.png}
|
| 94 |
\caption{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 95 |
\Description{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 96 |
\end{figure}
|
|
@@ -111,7 +106,7 @@ Repository retrieval does not automatically run arbitrary setup instructions. Th
|
|
| 111 |
|
| 112 |
\begin{figure}[!htb]
|
| 113 |
\centering
|
| 114 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/03-jobs-software.png}
|
| 115 |
\caption{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 116 |
\Description{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 117 |
\end{figure}
|
|
@@ -130,7 +125,7 @@ For an existing service on an allocated compute node, a tunnel maps a local loop
|
|
| 130 |
|
| 131 |
\begin{figure}[!htb]
|
| 132 |
\centering
|
| 133 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/04-sessions.png}
|
| 134 |
\caption{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 135 |
\Description{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 136 |
\end{figure}
|
|
@@ -147,7 +142,7 @@ The transport requires HTTPS and refuses HTTP redirects, preventing automatic fo
|
|
| 147 |
|
| 148 |
\begin{figure}[!htb]
|
| 149 |
\centering
|
| 150 |
-
\includegraphics[width=\textwidth,height=0.62\textheight,keepaspectratio]{figures/05-help.png}
|
| 151 |
\caption{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 152 |
\Description{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 153 |
\end{figure}
|
|
@@ -158,7 +153,7 @@ The v0.1 release build passes 28 Python tests and two Swift terminal tests. Pyth
|
|
| 158 |
|
| 159 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 160 |
|
| 161 |
-
The
|
| 162 |
|
| 163 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 164 |
|
|
|
|
| 27 |
\geometry{top=0.75in,bottom=0.65in,includeheadfoot}
|
| 28 |
\begin{document}
|
| 29 |
\begin{abstract}
|
| 30 |
+
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service. Five application screenshots illustrate the workspace.
|
| 31 |
\end{abstract}
|
| 32 |
\keywords{high-performance computing, Slurm, SSH, macOS, scientific gateways, remote development}
|
| 33 |
\maketitle
|
|
|
|
| 64 |
|
| 65 |
\begin{figure}[!htb]
|
| 66 |
\centering
|
| 67 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/01-connection.png}
|
| 68 |
\caption{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 69 |
\Description{Connection section showing the saved profile and SSH form. Offline capture of the signed v0.1 build; no password, API key, or private-key contents are shown.}
|
| 70 |
\end{figure}
|
|
|
|
| 81 |
|
| 82 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 83 |
|
| 84 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 85 |
|
| 86 |
\begin{figure}[!htb]
|
| 87 |
\centering
|
| 88 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/06-file-editor.png}
|
| 89 |
\caption{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 90 |
\Description{Cropped detail of the remote file browser and lightweight text editor. This offline view illustrates the editing controls, not an active file transaction.}
|
| 91 |
\end{figure}
|
|
|
|
| 106 |
|
| 107 |
\begin{figure}[!htb]
|
| 108 |
\centering
|
| 109 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/03-jobs-software.png}
|
| 110 |
\caption{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 111 |
\Description{Jobs + software showing explicit GPU resources and the editable script. The example script has not been submitted in this offline screenshot.}
|
| 112 |
\end{figure}
|
|
|
|
| 125 |
|
| 126 |
\begin{figure}[!htb]
|
| 127 |
\centering
|
| 128 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/04-sessions.png}
|
| 129 |
\caption{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 130 |
\Description{Sessions with the full-width Login Node Terminal controls, upper terminal pane, and red compute warning. The terminal is disconnected in this capture.}
|
| 131 |
\end{figure}
|
|
|
|
| 142 |
|
| 143 |
\begin{figure}[!htb]
|
| 144 |
\centering
|
| 145 |
+
\includegraphics[width=0.90\textwidth,height=0.62\textheight,keepaspectratio]{figures/05-help.png}
|
| 146 |
\caption{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 147 |
\Description{Help section with the ARC API configuration, model field, and question editor. The API key is empty; no live response is claimed.}
|
| 148 |
\end{figure}
|
|
|
|
| 153 |
|
| 154 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 155 |
|
| 156 |
+
The five figures are captures of the application interface, all captured from the signed release build. The images are cropped to remove unused space and pointer/hover overlays. They deliberately show offline states and omit live account results and credentials. Screenshots document layout and available controls; they are not measurements of scheduler or API success. Earlier development included remote smoke checks, but this report's quantified release evidence is limited to the test suite stated above.
|
| 157 |
|
| 158 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 159 |
|
paper/TECHNICAL_PAPER.md
CHANGED
|
@@ -8,7 +8,7 @@ Technical report · ARC Explorer v0.1 · November 13, 2026
|
|
| 8 |
|
| 9 |
## Abstract
|
| 10 |
|
| 11 |
-
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service.
|
| 12 |
|
| 13 |
## 1. Motivation and context
|
| 14 |
|
|
@@ -54,8 +54,6 @@ The lightweight editor opens UTF-8 text files up to 1 MiB, supports new files an
|
|
| 54 |
|
| 55 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 56 |
|
| 57 |
-

|
| 58 |
-
|
| 59 |

|
| 60 |
|
| 61 |
## 5. Jobs + software: resource requests and reproducible scripts
|
|
@@ -106,7 +104,7 @@ The v0.1 release build passes 28 Python tests and two Swift terminal tests. Pyth
|
|
| 106 |
|
| 107 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 108 |
|
| 109 |
-
The
|
| 110 |
|
| 111 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 112 |
|
|
|
|
| 8 |
|
| 9 |
## Abstract
|
| 10 |
|
| 11 |
+
ARC Explorer is a native macOS application that brings connection profiles, resource inspection, allocation accounting, GPU job submission, remote files, terminal sessions, web applications, and language-model assistance into one workspace for Virginia Tech Advanced Research Computing (ARC). The client combines SwiftUI, AppKit, WebKit, the system SSH client, and a small remote Python helper. Computational scripts are submitted to Slurm with explicit resource requests, while an integrated login-node terminal supports direct interactive administration. Five main sections organize the workflow: Connection, Resources, Jobs + software, Sessions, and Help. This report describes the implementation, file-editing safeguards, credential boundaries, installation workflow, and release validation. Twenty-eight Python tests and two native terminal tests pass for the release candidate. The evidence establishes functional checks of selected paths, not a performance benchmark, independent security audit, or guarantee of compatibility with every ARC service. Five application screenshots illustrate the workspace.
|
| 12 |
|
| 13 |
## 1. Motivation and context
|
| 14 |
|
|
|
|
| 54 |
|
| 55 |
An opened file is associated with a revision derived from its content hash, device, inode, and modification time. Before replacement, the helper compares the current revision with the expected revision, writes a temporary file in the destination directory, preserves supported permissions and group metadata, flushes it, checks again, and replaces the destination. A detected conflict preserves the remote version. This is optimistic conflict detection; it is not a server-side lock or a proof that all concurrent-writer races are impossible.
|
| 56 |
|
|
|
|
|
|
|
| 57 |

|
| 58 |
|
| 59 |
## 5. Jobs + software: resource requests and reproducible scripts
|
|
|
|
| 104 |
|
| 105 |
The native tests verify login-terminal request construction without an allocation requirement and exercise a real local pseudo-terminal: interactive input, a requested terminal size of 42 rows by 140 columns, and process exit. These are targeted regression checks. They do not prove all escape-sequence behavior, SSH authentication combinations, remote policy compliance, or embedded-browser compatibility.
|
| 106 |
|
| 107 |
+
The five figures are captures of the application interface, all captured from the signed release build. The images are cropped to remove unused space and pointer/hover overlays. They deliberately show offline states and omit live account results and credentials. Screenshots document layout and available controls; they are not measurements of scheduler or API success. Earlier development included remote smoke checks, but this report's quantified release evidence is limited to the test suite stated above.
|
| 108 |
|
| 109 |
The source distribution includes the Swift application, remote helper, native askpass helper, icon generator, tests, build script, vendored terminal source and license, and this report in Markdown, LaTeX, and PDF. SwiftTerm is pinned to v1.20.0 with the documented clipboard-read change. The build targets arm64 and macOS 15.0; the release was built and tested on a newer macOS host, not separately runtime-qualified on every supported OS release.
|
| 110 |
|