diff --git a/packages/extension/agents/.deploy-receipt.json b/packages/extension/agents/.deploy-receipt.json
index 2862758a..1c5d97d9 100644
--- a/packages/extension/agents/.deploy-receipt.json
+++ b/packages/extension/agents/.deploy-receipt.json
@@ -1,17 +1,42 @@
{
"receipt_version": 1,
- "deployed_at": "2026-08-23T12:56:11.089Z",
+ "deployed_at": "2026-09-12T14:20:11.336Z",
"dry_run": false,
"sources": [
{
- "card": "autodev.md",
- "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/autodev.md",
- "sha256": "sha256:5094b3938f845b769898ae452c8a55f743eb9dfa4e1c2ee6993837efd58110cb"
+ "card": "analyzer.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/analyzer.md",
+ "sha256": "sha256:13314049129ad4f9dbcadd961b0cbfc05fba01e3800380aad500b530411139ce"
},
{
- "card": "autoresearch.md",
- "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/autoresearch.md",
- "sha256": "sha256:c3238c7b395fe6b9ab9d065c2c5fab18017e4b1e83c64ce1cfc99f2546b1f828"
+ "card": "develop.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/develop.md",
+ "sha256": "sha256:adefb7d5d630e614989ba4ea5affa141edd52ff5bf3d9073e8e9d66bc1aa8b50"
+ },
+ {
+ "card": "experimenter.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/experimenter.md",
+ "sha256": "sha256:1bed34b410c31e00489360b1ed750b1edb27668b49bcce8ff8c61198b7321abf"
+ },
+ {
+ "card": "hypothesizer.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/hypothesizer.md",
+ "sha256": "sha256:f6864945d5f1b737a9503aa5466f3026ecc39fc7901883a7d85c03857f0bb2b8"
+ },
+ {
+ "card": "implementer.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/implementer.md",
+ "sha256": "sha256:4c27b6ff55b13f6680293a59160479cfc29dea256fd4ef8b29ce22508e4478ac"
+ },
+ {
+ "card": "librarian.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/librarian.md",
+ "sha256": "sha256:f1fd27021e088e02d2eb0a05f6909a963dfaa9243a65f55e3fd5ef6250bab48a"
+ },
+ {
+ "card": "research.md",
+ "path": "/Users/aaron/armonia/repos/amicode/packages/extension/agents/research.md",
+ "sha256": "sha256:ae870c2fab0c35239c8506d85a82b84d03c0fd1cd1b702485327b4f2442cc45c"
}
],
"destinations": [
@@ -28,4 +53,4 @@
"verified": true
}
]
-}
+}
\ No newline at end of file
diff --git a/packages/extension/tools/fleet/install.sh b/packages/extension/tools/fleet/install.sh
index 3a845f32..34fb88eb 100755
--- a/packages/extension/tools/fleet/install.sh
+++ b/packages/extension/tools/fleet/install.sh
@@ -22,10 +22,12 @@ say() { echo "[fleet] $*"; }
# --- read fleet config ---
ROLE="standalone"
FLEET_PORT=4096
+SSH_ALIAS=""
if [[ -f "$FLEET_CONFIG" ]]; then
ROLE="$(grep -o '"role"[[:space:]]*:[[:space:]]*"[^"]*"' "$FLEET_CONFIG" 2>/dev/null | head -1 | sed 's/.*"role"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/' || echo standalone)"
PORT_PARSED="$(grep -o '"port"[[:space:]]*:[[:space:]]*[0-9]*' "$FLEET_CONFIG" 2>/dev/null | head -1 | sed 's/.*:[[:space:]]*//' || echo 4096)"
if [[ -n "$PORT_PARSED" ]]; then FLEET_PORT="$PORT_PARSED"; fi
+ SSH_ALIAS="$(grep -o '"sshAlias"[[:space:]]*:[[:space:]]*"[^"]*"' "$FLEET_CONFIG" 2>/dev/null | head -1 | sed 's/.*"sshAlias"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/' || true)"
fi
# Standalone: nothing to install — the guard/tunnel are irrelevant.
@@ -107,18 +109,23 @@ if [[ "$(uname -s)" == "Darwin" ]]; then
else
if [[ $CHECK -eq 1 ]]; then
if [[ ! -f "$PLIST_DST" ]]; then echo "[fleet] FAIL tunnel plist missing at $PLIST_DST"; exit 1; fi
+ if grep -q "FLEET_SSH_ALIAS" "$PLIST_DST"; then echo "[fleet] FAIL tunnel plist still carries the FLEET_SSH_ALIAS placeholder (alias was never substituted — ssh loops on an unresolvable hostname)"; exit 1; fi
if ! grep -q "ServerAliveInterval=15" "$PLIST_DST"; then echo "[fleet] FAIL tunnel ServerAliveInterval 15 missing"; exit 1; fi
if ! grep -q "ServerAliveCountMax=2" "$PLIST_DST"; then echo "[fleet] FAIL tunnel ServerAliveCountMax 2 missing"; exit 1; fi
if ! grep -q "TCPKeepAlive=yes" "$PLIST_DST"; then echo "[fleet] FAIL tunnel TCPKeepAlive yes missing"; exit 1; fi
if ! grep -q "127.0.0.1:${FLEET_PORT}:127.0.0.1:${FLEET_PORT}" "$PLIST_DST"; then echo "[fleet] FAIL tunnel LocalForward ${FLEET_PORT} missing"; exit 1; fi
- say "ok tunnel $PLIST_DST (15/2 + TCPKeepAlive, port $FLEET_PORT)"
+ if [[ -n "$SSH_ALIAS" ]] && ! grep -q "${SSH_ALIAS}" "$PLIST_DST"; then echo "[fleet] FAIL tunnel alias is not ${SSH_ALIAS}"; exit 1; fi
+ say "ok tunnel $PLIST_DST (15/2 + TCPKeepAlive, port $FLEET_PORT, alias ${SSH_ALIAS:-unspecified})"
else
+ if [[ -z "$SSH_ALIAS" ]]; then
+ die "no sshAlias in $FLEET_CONFIG — refusing to install a tunnel that cannot resolve its host (add canonical.sshAlias)"
+ fi
mkdir -p "$(dirname "$PLIST_DST")"
- cp "$PLIST_SRC" "$PLIST_DST"
+ sed -e "s/FLEET_SSH_ALIAS/${SSH_ALIAS}/g" -e "s/127\.0\.0\.1:4096:127\.0\.0\.1:4096/127.0.0.1:${FLEET_PORT}:127.0.0.1:${FLEET_PORT}/g" "$PLIST_SRC" > "$PLIST_DST"
# reload
launchctl unload "$PLIST_DST" 2>/dev/null || true
launchctl load "$PLIST_DST" 2>/dev/null || launchctl bootstrap "gui/$(id -u)" "$PLIST_DST" 2>/dev/null || true
- say "installed tunnel $PLIST_DST and (re)loaded"
+ say "installed tunnel $PLIST_DST and (re)loaded (alias ${SSH_ALIAS}, port ${FLEET_PORT})"
fi
fi
fi
diff --git a/tools/fleet/install.sh b/tools/fleet/install.sh
index 3a845f32..34fb88eb 100755
--- a/tools/fleet/install.sh
+++ b/tools/fleet/install.sh
@@ -22,10 +22,12 @@ say() { echo "[fleet] $*"; }
# --- read fleet config ---
ROLE="standalone"
FLEET_PORT=4096
+SSH_ALIAS=""
if [[ -f "$FLEET_CONFIG" ]]; then
ROLE="$(grep -o '"role"[[:space:]]*:[[:space:]]*"[^"]*"' "$FLEET_CONFIG" 2>/dev/null | head -1 | sed 's/.*"role"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/' || echo standalone)"
PORT_PARSED="$(grep -o '"port"[[:space:]]*:[[:space:]]*[0-9]*' "$FLEET_CONFIG" 2>/dev/null | head -1 | sed 's/.*:[[:space:]]*//' || echo 4096)"
if [[ -n "$PORT_PARSED" ]]; then FLEET_PORT="$PORT_PARSED"; fi
+ SSH_ALIAS="$(grep -o '"sshAlias"[[:space:]]*:[[:space:]]*"[^"]*"' "$FLEET_CONFIG" 2>/dev/null | head -1 | sed 's/.*"sshAlias"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/' || true)"
fi
# Standalone: nothing to install — the guard/tunnel are irrelevant.
@@ -107,18 +109,23 @@ if [[ "$(uname -s)" == "Darwin" ]]; then
else
if [[ $CHECK -eq 1 ]]; then
if [[ ! -f "$PLIST_DST" ]]; then echo "[fleet] FAIL tunnel plist missing at $PLIST_DST"; exit 1; fi
+ if grep -q "FLEET_SSH_ALIAS" "$PLIST_DST"; then echo "[fleet] FAIL tunnel plist still carries the FLEET_SSH_ALIAS placeholder (alias was never substituted — ssh loops on an unresolvable hostname)"; exit 1; fi
if ! grep -q "ServerAliveInterval=15" "$PLIST_DST"; then echo "[fleet] FAIL tunnel ServerAliveInterval 15 missing"; exit 1; fi
if ! grep -q "ServerAliveCountMax=2" "$PLIST_DST"; then echo "[fleet] FAIL tunnel ServerAliveCountMax 2 missing"; exit 1; fi
if ! grep -q "TCPKeepAlive=yes" "$PLIST_DST"; then echo "[fleet] FAIL tunnel TCPKeepAlive yes missing"; exit 1; fi
if ! grep -q "127.0.0.1:${FLEET_PORT}:127.0.0.1:${FLEET_PORT}" "$PLIST_DST"; then echo "[fleet] FAIL tunnel LocalForward ${FLEET_PORT} missing"; exit 1; fi
- say "ok tunnel $PLIST_DST (15/2 + TCPKeepAlive, port $FLEET_PORT)"
+ if [[ -n "$SSH_ALIAS" ]] && ! grep -q "${SSH_ALIAS}" "$PLIST_DST"; then echo "[fleet] FAIL tunnel alias is not ${SSH_ALIAS}"; exit 1; fi
+ say "ok tunnel $PLIST_DST (15/2 + TCPKeepAlive, port $FLEET_PORT, alias ${SSH_ALIAS:-unspecified})"
else
+ if [[ -z "$SSH_ALIAS" ]]; then
+ die "no sshAlias in $FLEET_CONFIG — refusing to install a tunnel that cannot resolve its host (add canonical.sshAlias)"
+ fi
mkdir -p "$(dirname "$PLIST_DST")"
- cp "$PLIST_SRC" "$PLIST_DST"
+ sed -e "s/FLEET_SSH_ALIAS/${SSH_ALIAS}/g" -e "s/127\.0\.0\.1:4096:127\.0\.0\.1:4096/127.0.0.1:${FLEET_PORT}:127.0.0.1:${FLEET_PORT}/g" "$PLIST_SRC" > "$PLIST_DST"
# reload
launchctl unload "$PLIST_DST" 2>/dev/null || true
launchctl load "$PLIST_DST" 2>/dev/null || launchctl bootstrap "gui/$(id -u)" "$PLIST_DST" 2>/dev/null || true
- say "installed tunnel $PLIST_DST and (re)loaded"
+ say "installed tunnel $PLIST_DST and (re)loaded (alias ${SSH_ALIAS}, port ${FLEET_PORT})"
fi
fi
fi