یہ رہنما خود میزبانی والے Hermes Agent کے اس منتظم کے لیے ہے جو Linux اکاؤنٹ اور نجی GitHub ذخیرے کا انتظام کر سکتا ہے۔ ہدف واضح ہے: Hermes کے مکمل صارف ڈیٹا کا آرکائیو، میزبان سے نکلنے سے پہلے رمز بند، مطلوبہ نجی ریموٹ پر تصدیق شدہ، پھر الگ عارضی آزمائشی مشین پر حاصل اور درآمد شدہ۔ یہ دستاویزی طریقہ Hermes CLI کے متعین commit 86fa9e6 کے لیے ہے، جسے 19 اکتوبر 2026 کو جانچا گیا۔ BIG CHANGE نے غیر فعال مقامی آزمائشی مواد سے shell ساخت اور کنٹرول بہاؤ جانچا؛ حقیقی Hermes بیک اپ، age رمز بندی، GitHub push، مقررہ اجرا یا بحالی نہیں کی۔ اپنی تنصیب میں تمام جانچیں خود کرنے کے بعد ہی بیک اپ کو ثابت شدہ سمجھیں۔
بڑی تبدیلی
- کیا بدلا: Hermes کا مکمل بیک اپ حکم کام کا ڈیٹا ZIP میں جمع کرتا ہے، جبکہ بغیر ایجنٹ cron موڈ جائزہ شدہ اسکرپٹ چلاتا ہے۔ یوں AI ماڈل سے بیک اپ کرائے بغیر مقررہ رمز بند نقل بنائی جا سکتی ہے۔
- یہ کیوں اہم ہے: منتظم تین الگ حقائق جانچتا ہے: Hermes نے آرکائیو مکمل کیا، رمز بند مواد مطلوبہ نجی ذخیرے میں پہنچا اور نئی تنصیب اسے درآمد کر سکتی ہے۔ ہر جانچ الگ خرابی پکڑتی ہے۔ ایپلی کیشن اور کچھ مقامی مشینی ڈیٹا پھر بھی خارج رہتے ہیں۔
- کن باتوں کا خیال رکھیں: عملی فیصلہ یہ ہے کہ آرکائیو اور بڑھتی Git تاریخ اس محدود راستے کے لیے کافی چھوٹے رہیں۔ بحالی مشق ناکام ہو یا کسی سائز حد پر رکنا پڑے تو شیڈول پر انحصار سے پہلے دوسرا ذخیرہ منصوبہ ضروری ہے۔
1. میزبان، چابی اور ذخیرہ تیار کریں
Linux کے ساتھ Bash، GNU stat -c اور du -sb، نصب Hermes CLI، Git، GitHub CLI (gh)، age، unzip، sha256sum، SSH اور cron کے لیے فعال Hermes گیٹ وے استعمال کریں۔ تصدیق کریں کہ نصب شدہ hermes backup، hermes import اور hermes cron create --help، متعین commit کے CLI حوالہ، عام سوالات اور cron دستور سے ملتے ہیں۔ گیٹ وے کا OS صارف اور HERMES_HOME پہچانیں۔ میزبان کی تمام ترتیب اور پہلا دستی بیک اپ اسی صارف سے کریں۔ مثال الگ صاف Git کلون اور main برانچ فرض کرتی ہے۔
Hermes کا مکمل بیک اپ ڈیٹا جڑ کے تحت ترتیب، اسناد، یادداشتیں، مہارتیں، سیشن اور پروفائل لیتا ہے۔ Hermes کوڈ، ڈاؤن لوڈ شدہ انحصار و رن ٹائم، پچھلے بیک اپ، چیک پوائنٹ، براؤزر اسناد پروفائل، SQLite معاون فائلیں اور کچھ مقامی فائلیں خارج ہیں۔ میزبان کی دوسری جگہوں کی غیر متعلق فائلیں جمع نہیں ہوتیں۔ اس مکمل ڈیٹا نتیجے کے لیے --quick استعمال نہ کریں۔ اس حد سے باہر اہم مواد دیکھ کر الگ محفوظ کریں۔ ذخیرہ نجی ہونے کے باوجود ZIP میں راز ہوتے ہیں۔
age identity، یعنی آرکائیو کھولنے کی نجی چابی، محفوظ جگہ بنائیں جو HERMES_HOME، عارضی تیاری ڈائریکٹری اور Git کلون سے باہر ہو۔ شناخت کی بحالی نقل آزاد ذخیرے میں رکھیں۔ چھپا وصول کنندہ age1… عوامی ہے اور ترتیب میں جائے گا؛ نجی identity نہیں۔ age استعمال کا حوالہ دیکھیں۔
umask 077
install -d -m 700 /PRIVATE-KEY-STORE
age-keygen -o /PRIVATE-KEY-STORE/hermes-backup-identity.txt
age-keygen -y /PRIVATE-KEY-STORE/hermes-backup-identity.txtصرف اس بیک اپ کے لیے نجی ذخیرہ بنائیں، رسائی والوں کو جانچیں اور Hermes cron چلانے والے اسی OS صارف کے لیے غیر تعاملی gh پڑھائی اور Git SSH لکھائی مقرر کریں۔ ٹوکن اور نجی SSH چابیاں Hermes ڈیٹا، تیاری اور Git سے باہر رکھیں۔ دوسرے اکاؤنٹ کا تعاملی لاگ اِن مقررہ رسائی ثابت نہیں کرتا۔ مثالوں سے پہلے بڑے حروف کے عارضی نشانات بدلیں۔ ذخیرہ بننے پر README یا main برانچ پہلے سے بنی ہو تو دیکھیں اور متصادم ابتدائی احکام چھوڑ دیں۔
gh repo create ACCOUNT/PRIVATE-REPOSITORY --private --clone
gh repo view ACCOUNT/PRIVATE-REPOSITORY --json isPrivate --jq .isPrivate
cd PRIVATE-REPOSITORY
git remote set-url origin git@github.com:ACCOUNT/PRIVATE-REPOSITORY.git
git remote get-url --all origin
git remote get-url --push --all origin
git branch -M main
printf '%s\n' 'Encrypted Hermes backup storage; ciphertext and checksum only.' > README.md
git add README.md
git commit -m 'Initialize private backup repository'
git push -u origin HEAD:main
git ls-remote --heads origin maingh repo create --clone مقامی ترجیحات سے HTTPS چن سکتا ہے؛ اوپر کا واضح SSH ریموٹ اس ترکیب کا ہدف ہے۔ صرف تب آگے بڑھیں جب isPrivate واپس دے true، شریک متوقع ہوں، مؤثر fetch اور push URL ہر ایک واحد جائزہ شدہ SSH URL کے برابر ہو، اور مقررہ صارف کی ریموٹ رسائی کامیاب ہو۔ Git ریموٹ قواعد URL کی تبدیلی، اضافی منزلوں اور الگ pushurl کی اجازت دیتے ہیں؛ اسکرپٹ ہر بار اصل اور مؤثر اقدار جانچتا ہے۔
اگلے دو کوڈ بلاک محفوظ کرنے سے پہلے کلون سے نکلیں۔ Hermes ڈیٹا جڑ، Git کلون، تیاری ڈائریکٹری اور چابی ذخیرے سے باہر نجی ترتیب ڈائریکٹری بنائیں۔ hermes-github-backup.sh اور hermes-github-backup.conf وہاں رکھیں؛ تنصیب کے احکام مالک کے پروفائل میں نقل کریں گے۔ مخصوص Git کلون صاف رہنا چاہیے۔
install -d -m 700 /ABSOLUTE/PRIVATE-SETUP
cd /ABSOLUTE/PRIVATE-SETUP2. جائزہ شدہ بیک اپ اسکرپٹ نصب کریں
نیچے پورا Bash بلاک hermes-github-backup.sh نام سے اس نجی ڈائریکٹری میں رکھیں۔ دوسرا بلاک hermes-github-backup.conf نام سے ساتھ رکھیں، تمام نشانات مطلق راستوں یا عوامی وصول کنندہ سے بدل کر۔ یہ مقامی جائزے والی shell ترتیب ہے؛ لوڈ کرنے سے پہلے جانچیں اور صرف مالک کو رسائی دیں۔ پاس ورڈ، ٹوکن یا نجی age identity شامل نہ ہو۔ اسکرپٹ مکمل مجوزہ نمونہ ہے؛ ساخت اور غیر فعال بہاؤ جانچے گئے، لیکن اپنی تنصیب میں ڈھال کر آزمائیں۔ پیدا کردہ latest.zip.age فائل رمز بند آرکائیو ہے۔
#!/usr/bin/env bash
# Documentation-based Linux sample for an operator to review and adapt.
# Place with hermes-github-backup.conf under the owning HERMES_HOME/scripts/.
# Requires GNU stat -c and du -sb. Git Bash was used only for inert fixtures.
set -Eeuo pipefail
umask 077
script_dir=$(CDPATH= cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd -P)
owning_home=$(CDPATH= cd -- "$script_dir/.." && pwd -P)
if [[ -n ${HERMES_HOME:-} && $(CDPATH= cd -- "$HERMES_HOME" && pwd -P) != "$owning_home" ]]; then
printf 'Backup stopped: cron profile and script directory differ.\n' >&2
exit 1
fi
export HERMES_HOME="$owning_home"
config="$script_dir/hermes-github-backup.conf"
[[ -f "$config" ]] || { printf 'Backup stopped: reviewed configuration missing.\n' >&2; exit 1; }
# This file is local, owner-reviewed shell configuration. It must contain no secret.
# shellcheck source=/dev/null
source "$config"
: "${HERMES_BIN:?set an absolute Hermes executable path}"
: "${REPO_DIR:?set an absolute private clone path}"
: "${STAGING_PARENT:?set an absolute private staging path}"
: "${AGE_RECIPIENT:?set an age public recipient}"
: "${EXPECTED_REMOTE:?set the exact private GitHub SSH remote}"
: "${BRANCH:=main}"
fail() { printf 'Backup stopped: %s.\n' "$1" >&2; exit 1; }
for path in "$HERMES_BIN" "$REPO_DIR" "$STAGING_PARENT"; do
[[ $path == /* ]] || fail 'a configured path is not absolute'
done
[[ -x "$HERMES_BIN" ]] || fail 'Hermes executable unavailable'
[[ $AGE_RECIPIENT == age1* ]] || fail 'age public recipient invalid'
[[ $EXPECTED_REMOTE == git@github.com:*/*.git ]] || fail 'remote is not the reviewed GitHub SSH URL'
[[ $BRANCH =~ ^[a-zA-Z0-9._/-]+$ ]] || fail 'branch name invalid'
[[ -d "$STAGING_PARENT" ]] || fail 'staging directory unavailable'
stage_parent=$(CDPATH= cd -- "$STAGING_PARENT" && pwd -P)
[[ $stage_parent != "$owning_home" && $stage_parent != "$owning_home"/* ]] || fail 'staging is inside Hermes data'
# Atomic, nonblocking whole-flow lock: keep it through push and remote readback.
# A stale directory after a crash requires operator inspection; never steal it.
lockdir="$stage_parent/.hermes-github-backup-flow.lock"
mkdir -- "$lockdir" 2>/dev/null || fail 'another backup flow holds the lock or a stale lock needs review'
work=''
cleanup() {
if [[ -n $work ]]; then
rm -f -- "$work/hermes.zip" "$work/latest.zip.age" "$work/latest.sha256" "$work/backup.log"
rmdir -- "$work" 2>/dev/null || true
fi
rmdir -- "$lockdir" 2>/dev/null || true
}
trap cleanup EXIT
[[ -d "$REPO_DIR/.git" ]] || fail 'Git repository unavailable'
repo=$(CDPATH= cd -- "$REPO_DIR" && pwd -P)
[[ $repo != "$owning_home" && $repo != "$owning_home"/* ]] || fail 'repository is inside Hermes data'
[[ $stage_parent != "$repo" && $stage_parent != "$repo"/* ]] || fail 'staging is inside Git repository'
[[ $repo != "$stage_parent"/* ]] || fail 'Git repository is inside staging'
command -v age >/dev/null || fail 'age unavailable'
command -v gh >/dev/null || fail 'GitHub CLI unavailable for private visibility check'
command -v unzip >/dev/null || fail 'zip verifier unavailable'
command -v git >/dev/null || fail 'Git unavailable'
remote_repo=${EXPECTED_REMOTE#git@github.com:}
remote_repo=${remote_repo%.git}
visibility=$(gh repo view "$remote_repo" --json isPrivate --jq .isPrivate 2>/dev/null) || fail 'GitHub repository visibility unreadable'
[[ $visibility == true ]] || fail 'GitHub repository is not confirmed private'
raw_fetch_urls=$(git -C "$repo" config --get-all remote.origin.url) || fail 'Git fetch URL missing'
[[ $raw_fetch_urls == "$EXPECTED_REMOTE" ]] || fail 'Git has multiple or unexpected raw fetch URLs'
raw_push_urls=$(git -C "$repo" config --get-all remote.origin.pushurl || true)
[[ -z $raw_push_urls ]] || fail 'separate Git pushurl requires independent review'
effective_fetch_urls=$(git -C "$repo" remote get-url --all origin) || fail 'effective fetch URL unreadable'
effective_push_urls=$(git -C "$repo" remote get-url --push --all origin) || fail 'effective push URL unreadable'
[[ $effective_fetch_urls == "$EXPECTED_REMOTE" ]] || fail 'Git fetch URL rewrite or extra destination'
[[ $effective_push_urls == "$EXPECTED_REMOTE" ]] || fail 'Git push URL rewrite or extra destination'
[[ $(git -C "$repo" branch --show-current) == "$BRANCH" ]] || fail 'local branch changed'
[[ -z $(git -C "$repo" status --porcelain --untracked-files=all) ]] || fail 'repository has unrelated changes'
# No interactive prompt is possible in an unattended Hermes cron tick.
export GIT_TERMINAL_PROMPT=0
export GIT_SSH_COMMAND='ssh -o BatchMode=yes'
remote_head=$(git -C "$repo" ls-remote --heads origin "$BRANCH" | awk '{print $1}')
[[ -n $remote_head && $remote_head == "$(git -C "$repo" rev-parse HEAD)" ]] || fail 'remote unreadable or branch has changed'
work=$(mktemp -d "$stage_parent/hermes-backup.XXXXXXXX") || fail 'private staging creation failed'
if "$HERMES_BIN" backup -o "$work/hermes.zip" >"$work/backup.log" 2>&1; then
:
else
backup_rc=$?
fail "Hermes full backup returned $backup_rc; temporary zip/log will be removed, so diagnose with a separate controlled manual run"
fi
[[ -s "$work/hermes.zip" ]] || fail 'Hermes archive absent or empty'
unzip -tq "$work/hermes.zip" >"$work/backup.log" 2>&1 || fail 'zip integrity check failed'
age -r "$AGE_RECIPIENT" -o "$work/latest.zip.age" "$work/hermes.zip" >"$work/backup.log" 2>&1 || fail 'archive encryption failed'
[[ -s "$work/latest.zip.age" ]] || fail 'encrypted archive absent or empty'
# Deliberately below GitHub's 50 MiB warning. Git history retains every version.
cipher_bytes=$(stat -c %s "$work/latest.zip.age")
(( cipher_bytes <= 40000000 )) || fail 'encrypted archive exceeds this small-repository recipe'
git_bytes=$(du -sb "$repo/.git" | awk '{print $1}')
(( git_bytes + cipher_bytes + 10000000 <= 500000000 )) || fail 'repository history approaches the review limit'
hash=$(sha256sum "$work/latest.zip.age" | awk '{print $1}')
printf '%s latest.zip.age\n' "$hash" >"$work/latest.sha256"
cp -- "$work/latest.zip.age" "$repo/latest.zip.age"
cp -- "$work/latest.sha256" "$repo/latest.sha256"
git -C "$repo" add -- latest.zip.age latest.sha256
staged=$(git -C "$repo" diff --cached --name-only)
[[ $staged == $'latest.sha256\nlatest.zip.age' ]] || fail 'staged paths are not the two reviewed files'
git -C "$repo" diff --cached --check >/dev/null || fail 'staged content check failed'
git -C "$repo" commit -m "Encrypted Hermes backup $(date -u +%Y-%m-%dT%H:%M:%SZ)" >/dev/null || fail 'local backup commit failed'
run_head=$(git -C "$repo" rev-parse HEAD)
(( $(du -sb "$repo/.git" | awk '{print $1}') <= 500000000 )) || fail 'Git history exceeds review limit before push'
[[ $(git -C "$repo" rev-parse HEAD) == "$run_head" ]] || fail 'local HEAD changed before push'
git -C "$repo" push origin "$run_head:refs/heads/$BRANCH" >/dev/null || fail 'remote push failed; inspect exact remote before retrying'
remote_head=$(git -C "$repo" ls-remote --heads origin "$BRANCH" | awk '{print $1}')
[[ $remote_head == "$run_head" ]] || fail 'this run commit not confirmed at remote'
printf 'Encrypted backup verified at private remote commit %s.\n' "$run_head"# No passwords, tokens, age identities or private keys belong here.
HERMES_BIN=/absolute/path/to/hermes
REPO_DIR=/absolute/path/to/dedicated-private-github-clone
STAGING_PARENT=/absolute/path/to/private-staging-outside-hermes-and-git
AGE_RECIPIENT=age1replace_with_operator_public_recipient
EXPECTED_REMOTE=git@github.com:ACCOUNT/PRIVATE-REPOSITORY.git
BRANCH=mainتیاری کی جگہ Hermes ڈیٹا جڑ اور Git کلون سے باہر بنائیں۔ جائزہ شدہ فائلیں مالک کے پروفائل کی scripts/ ڈائریکٹری میں رکھیں۔ ہر اجرا سے پہلے کلون صاف اور ریموٹ main سے ہم آہنگ ہو۔ اسکرپٹ push اور دوبارہ پڑھنے تک پورا بہاؤ مقفل رکھتا ہے؛ مصروف یا پرانا تالا نہیں چھینتا۔ نئے Git کے لیے تیار بیک اپ راستوں میں صرف latest.zip.age اور latest.sha256 قبول ہیں۔ رمز بند فائل 40,000,000 بائٹ سے بڑھے یا مقامی .git اور محفوظ اضافی جگہ 500,000,000 بائٹ کے قریب ہو تو رک جاتا ہے۔ یہ نمونے کی محتاط حدود ہیں، GitHub ذخیرہ ضمانت نہیں۔
export HERMES_HOME=/absolute/path/to/owning-hermes-data-root
install -d -m 700 /ABSOLUTE/PRIVATE-STAGING
install -d -m 700 "$HERMES_HOME/scripts"
install -m 700 hermes-github-backup.sh "$HERMES_HOME/scripts/hermes-github-backup.sh"
install -m 600 hermes-github-backup.conf "$HERMES_HOME/scripts/hermes-github-backup.conf"
"$HERMES_HOME/scripts/hermes-github-backup.sh"دستی اجرا صفر خروج کوڈ پر ختم ہو کر ریموٹ دوبارہ پڑھنے کے بعد اسی اجرا کا بنایا commit دکھائے۔ تصدیق کریں gh repo view اب بھی نجی بتاتا ہے، کلون کے زیرِ نگرانی راستے اور مطلوبہ ریموٹ کا درست commit جانچیں۔ مقامی آرکائیو یا commit بیرونی نقل کا نتیجہ نہیں۔ رکے اجرا کو کامیاب نہ لکھیں۔ Hermes کے مطابق مکمل بیک اپ صرف تمام منتخب فائلیں شامل ہونے پر 0، نامکمل آرکائیو پر 1 حتیٰ کہ ZIP موجود ہو، اور دوسرا بیک اپ جاری ہو تو 2 واپس کرتا ہے۔ اسکرپٹ نکلتے وقت عارضی ZIP اور لاگ حذف کرتا ہے؛ عام حذف محفوظ مٹانا نہیں۔ چھوٹی ہوئی فائلوں کے لیے الگ قابو شدہ دستی hermes backup -o /PRIVATE-DIAGNOSTIC/hermes.zip سے تحقیق کریں، خروج حالت و رپورٹ دیکھیں اور چھوٹے مواد کا تحفظ طے کریں۔
3. وقت مقرر کریں اور پہلا اجرا دیکھیں
دستی نتیجے کے بعد ہی اسی پروفائل سے Hermes کا دستاویزی --no-agent --script موڈ استعمال کریں۔ یہ LLM کے بغیر فائل چلاتا ہے۔ سوچ کر وقفہ اور غیر خفیہ مقامی حالت کی ترسیل چنیں۔ گیٹ وے کی OS شناخت، پروفائل اور اگلا وقت دیکھیں۔ Hermes اسکرپٹ کی مہلت پہلے HERMES_CRON_SCRIPT_TIMEOUT، پھر cron.script_timeout_seconds، پھر پہلے سے مقررہ 3,600 سیکنڈ سے آتی ہے۔ مشاہدہ شدہ اجرا کے مناسب قدر مقرر و جانچیں؛ مہلت ختم ہونا ناکامی ہے۔ صاف اسکرپٹ ماحول خودکار طور پر Hermes کے زیرِ انتظام فراہم کنندہ اسناد نہیں لیتا؛ انحصار سے پہلے حقیقی مقررہ صارف کی بلا نگرانی gh اور SSH رسائی جانچیں۔
hermes cron create '0 3 * * *' --no-agent --script hermes-github-backup.sh --deliver local --name 'Encrypted Hermes backup'
hermes cron list
hermes cron status
hermes cron doctorپہلے مقررہ وقت کے بعد درست جاب ID، اجرا ریکارڈ، مقامی نتیجہ (عام پروفائل میں ~/.hermes/cron/output/)، حادثہ ریکارڈ اور مطلوبہ ریموٹ کا اوپری commit دیکھیں۔ گیٹ وے دستیاب رہا اور اجرا نے اسی محرک کا ریموٹ commit بتایا ہو۔ دستی چلانا cron چلنے کا ثبوت نہیں۔ نتیجہ نہ ملے تو اسی جاب اور گیٹ وے کو دیکھیں، دوسرا شیڈول نہ بنائیں۔ حالت پیغام میں ZIP مواد، راز یا اسناد نہ ہوں۔
4. نئی مشین پر حصول و درآمد ثابت کریں
استعمال کریں الگ عارضی Linux مشین جس پر پیداواری Hermes پروفائل یا گیٹ وے نہ ہو۔ پہلے موافق Hermes نسخہ نصب کریں: آرکائیو صارف ڈیٹا ہے، ایپلی کیشن یا رن ٹائم تصویر نہیں۔ آزمائشی مشین کو مطلوبہ نجی ذخیرے اور الگ رکھی age identity کی آزاد مجاز پڑھائی دیں۔ کلون ریموٹ اور منتخب commit کی تصدیق کریں۔ اصل میزبان یا موجودہ پروفائل پر hermes import نہ چلائیں۔ واپس لائے تمام شیڈول اور بیرونی اعمال غیر فعال رکھیں، یہاں تک کہ شخص منزلیں دیکھ کر فعال کرنے کا فیصلہ کرے۔
umask 077
unset HERMES_HOME
git clone git@github.com:ACCOUNT/PRIVATE-REPOSITORY.git /PRIVATE-RECOVERY/hermes-backup-clone
cd /PRIVATE-RECOVERY/hermes-backup-clone
sha256sum -c latest.sha256
age --decrypt -i /PRIVATE-KEY-STORE/hermes-backup-identity.txt -o /PRIVATE-RECOVERY/hermes.zip latest.zip.age
unzip -tq /PRIVATE-RECOVERY/hermes.zip
hermes import /PRIVATE-RECOVERY/hermes.zip
hermes setup
hermes cron listدرآمد شدہ پروفائل، مہارتیں، یادداشتیں، سیشن اور cron تعریفیں مطلوبہ تحفظ سے ملائیں۔ hermes setup فراہم کنندہ ترتیب جانچتا ہے، مگر بدلنے والی اسناد اور مشین مخصوص راستے بھی دیکھیں۔ حقیقی نتائج لکھیں۔ درست checksum اور کھلنے والا ZIP اکیلے قابلِ استعمال بحالی ثابت نہیں کرتے۔ مشق بعد مقامی اصول کے مطابق واضح متن کا آزمائشی ZIP مٹائیں؛ عام حذف محفوظ مٹانے کی ضمانت نہیں۔
جانچ رکنے پر
نامکمل Hermes بیک اپ، ZIP یا رمز بندی غلطی، غیر متوقع مؤثر Git URL، غیر نجی یا ناقابلِ مطالعہ ذخیرہ، مصروف بہاؤ تالا، سائز حد، ناکام push، مختلف ریموٹ commit یا درآمد ناکامی اجرا کو غیر مصدقہ رکھتی ہے۔ مخصوص سبب حل کر کے دوبارہ کوشش سے پہلے موجودہ حالت دیکھیں۔ push نتیجہ غیر یقینی ہو تو پہلے درست ریموٹ برانچ اور commit دیکھیں۔ خرابی بعد تالا باقی ہو تو زندہ عمل اور مقامی/ریموٹ حالت دیکھیں؛ فعال تالا کبھی نہ مٹائیں۔ نجی age identity کھو جائے تو کھولنے کے لیے آزاد درست نقل چاہیے۔ کھلے متن کے راز Git میں جائیں تو پہلے ظاہر شدہ اسناد بدلیں؛ بعد کی فائل حذف پرانی تاریخ یا دوسرے کلون نہیں مٹاتی۔
GitHub کی بڑی فائل رہنمائی خبردار کرتی ہے 50 MiB پر، اور عام Git فائل روکتی ہے 100 MiB سے اوپر؛ Git بیک اپ کے لیے بنایا نہیں گیا۔ نمونہ جان بوجھ کر ان حدود سے پہلے رک جاتا ہے۔ ہر بدلا رمز بند مواد Git تاریخ میں رہتا ہے، چاہے latest.zip.age بدل جائے۔ 40 MB/500 MB حدود چپکے سے نہ بڑھائیں، تاریخ نہ لکھیں اور نجی کو رمز بند نہ سمجھیں۔ سائز یا بحالی جانچ ناکام ہو تو بیک اپ مخصوص ذخیرہ یا الگ جائزہ شدہ LFS منصوبہ دیکھیں۔ اکاؤنٹ، ذخیرہ، نیٹ ورک اور میزبان خرچ باقی ہیں؛ بغیر ایجنٹ اسکرپٹ خود LLM کال نہیں مانگتا۔ مدت، کامیابی کی شرح یا بچت ناپی نہیں گئی۔
الگ اور محدود Hermes شیڈولنگ کام کے لیے دیکھیں مہارت پر مبنی بار بار Hermes جاب بنانا اور پہلی اجرا جانچنا۔ اس کی رپورٹ جانچ رمز بند آرکائیو اور بحالی مشق کی جگہ نہیں لیتی۔
ماخذ اور مزید مطالعہ
- Hermes Agent CLI احکام، متعین commit
86fa9e6— مکمل بیک اپ حکم، دائرہ، استثنا اور خروج حالت۔ 19 اکتوبر 2026 کو متعین ماخذ سے جانچا؛ حقیقی پروفائل اجرا ثابت نہیں۔ - Hermes Agent عام سوالات، وہی متعین commit — مکمل بیک اپ منتقلی،
hermes importاورhermes setup؛ آرکائیو ڈیٹا ہے، رن ٹائم تصویر نہیں۔ - Hermes مقررہ کاموں کا دستور، وہی متعین commit — بغیر ایجنٹ اسکرپٹ موڈ، ترسیل، صاف ماحول، گیٹ وے اور مہلت۔ شیڈول سے پہلے نصب نسخے کی مدد دیکھیں۔
- age README — وصول کنندہ رمز بندی اور identity سے کھولنا۔ بدلتا
mainصفحہ 19 اکتوبر 2026 کو جانچا؛ غیر فعال آزمائش نے حقیقی رمز بندی نہیں آزمائی۔ - GitHub ذخیرے کی رازداری، ذخیرہ بنانا اور GitHub CLI repo view — نجی رسائی اور نمایاں حالت کی پڑھائی۔ رسائی جائزہ شدہ شریک اور اسناد پر منحصر ہے۔
- Git remote اور Git push — مؤثر منزلیں اور بھیجے حوالے؛ اسکرپٹ اسی اجرا کے درست ریموٹ اوپری commit کو الگ جانچتا ہے۔
- GitHub بڑی فائل رہنمائی اور حساس ڈیٹا ہٹانا — Git سائز و تاریخ حدود اور کیوں فاش اسناد بدلنی چاہییں، صرف فائل حذف کافی نہیں۔ بدلتے دستور 19 اکتوبر 2026 کو جانچے۔



