Hermes পরিচালকেরা পুনরাবৃত্ত কাজের সঙ্গে পর্যালোচিত skill যুক্ত করতে পারেন, যাতে প্রতিটি চালনা একই পদ্ধতি দিয়ে শুরু হয়। কার্যকর পরীক্ষা হলো একটি নির্ধারিত চালনা অনুমোদিত ইনপুট পড়ে কি না, গ্রহণযোগ্য স্থানীয় প্রতিবেদন তৈরি করে কি না এবং বাস্তবে কোন মডেল ও হোস্ট সেটি প্রক্রিয়া করেছে তা নথিবদ্ধ করে কি না। এই নির্দেশিকা তাঁদের জন্য, যাঁরা Hermes প্রোফাইল, সেবাদাতার অ্যাকাউন্ট ও gateway হোস্ট নিয়ন্ত্রণ করেন। BIG CHANGE আনুষ্ঠানিক cron নির্দেশিকা ও সংশ্লিষ্ট নথি ১৯ অক্টোবর ২০২৬-এ পর্যালোচনা করেছে; আমরা Hermes ইনস্টল করিনি বা কোনো কাজ চালাইনি।

মূল পরিবর্তন

  • কী বদলেছে: Hermes নির্ধারিত প্রম্পটের আগে পর্যালোচিত skill লোড করে নির্বাচিত কাজের জায়গায় চালাতে এবং ফল স্থানীয়ভাবে সংরক্ষণ করতে পারে। পরিচালক কাজটি বিরত অবস্থায় তৈরি করে পরীক্ষা করতে এবং একই কাজের ID আবার চালু করতে পারেন।
  • কেন গুরুত্বপূর্ণ: পুনরাবৃত্ত তথ্যসংক্রান্ত কাজে একটি পর্যালোচিত পদ্ধতি ব্যবহার করা যায়। তবুও নির্ধারিত চালনাকে অনুমোদিত ইনপুটের সঙ্গে মিলিয়ে দেখতে হবে; সংরক্ষিত সময়সূচি কোন skill সংস্করণ বা মডেল চলেছে কিংবা প্রতিবেদন সঠিক কি না তা প্রমাণ করে না।
  • কী খেয়াল রাখবেন: ব্যবহার চালিয়ে যাওয়া নির্ভর করে gateway হোস্ট সচল থাকা ও প্রথম চালনা প্রতিবেদনের মানদণ্ড পূরণ করার ওপর। কাজ সক্রিয় রেখে দেওয়ার আগে প্রচেষ্টা, আউটপুট এবং উপলব্ধ সেবাদাতা/মডেলের প্রমাণ পরীক্ষা করুন; যেকোনো বাধার পরে তার সঠিক অবস্থা আবার দেখুন।

সময়সূচি তৈরির আগে

একটি ছোট অনুমোদিত ইনপুট ফাইল এবং আগে থেকে থাকা পৃথক কাজের জায়গা বেছে নিন। সঠিক সংক্ষিপ্ত প্রতিবেদনে কী থাকবে, কোথায় ইনপুটের সূত্র দিতে হবে এবং কোন তথ্য না পেলে থামতে হবে তা নির্ধারণ করুন। প্রথম কাজ শুধু তথ্যের মধ্যে সীমিত রাখুন: বাইরের প্রকাশনা, রেকর্ড পরিবর্তন বা আউটপুটে গোপন তথ্য নয়। পুনরাবৃত্ত করার আলাদা অনুমতি নিন। কনফিগার করা Hermes, ব্যবহারযোগ্য মডেল/সেবাদাতার সংযোগপথ ও প্রবেশের পরিচয়তথ্য, এবং নির্ধারিত চালনার জন্য সচল থাকতে পারা gateway হোস্টও লাগবে। ইনস্টল করা সংস্করণ ও hermes cron create --help দেখুন, কারণ প্রকাশ্য নির্দেশিকা প্রতিটি বিকল্পের সংস্করণ বলে না। দ্রুত শুরু করার নির্দেশিকা সেটআপ ব্যাখ্যা করে; সেবাদাতার নির্দেশিকা মডেল প্রক্রিয়াকরণের পথ বোঝায়। পুনরাবৃত্তির আগে একটি নিরীহ এককালীন কথোপকথনে পথটি পরীক্ষা করা যায়, কিন্তু তা নির্ধারিত চালনার সাফল্যের প্রমাণ নয়।

এখানে skill হলো পর্যালোচিত SKILL.md পদ্ধতি, অনুমতির সীমানা নয়। skills/local-input-report/SKILL.md প্রকৃত মালিক প্রোফাইলের HERMES_HOME-এর নিচে রাখুন; ~/.hermes/skills/local-input-report/SKILL.md ডিফল্ট প্রোফাইলের উদাহরণ। ব্যবহারের আগে এই ন্যূনতম পদ্ধতিটি অনুমোদিত ইনপুট ও প্রতিবেদনের মানদণ্ড অনুযায়ী মানিয়ে নিন:

Markdown
---
name: local-input-report
description: Report checked facts from one approved local input.
---

Read only <absolute-permitted-input-path> in the job workspace. In a short report, name that file, state only facts supported by it, and cite the relevant part. Flag missing data and stop. Do not send messages or change files or external records.

প্রকৃত ফাইল দেখুন এবং একই প্রোফাইলে hermes skills list দিয়ে নিশ্চিত করুন যে Hermes সেটি খুঁজে পায়। পরিবর্তে প্রকল্পের স্থানীয় skill ব্যবহার করলে skills নির্দেশিকা অনুযায়ী অ-ইন্টার‌্যাক্টিভ cron চালনার আগে ইন্টার‌্যাক্টিভভাবে আস্থা ও স্ক্যানের সিদ্ধান্ত নিতে হবে; cron নিজে আস্থা দেয় না। চালু টুল ও প্রকৃত ফাইল-অ্যাক্সেস আলাদা করে পর্যালোচনা করুন। skill-এর বিষয়বস্তু বা সংস্করণ লিখে রাখুন, যাতে শুধু নামই পর্যালোচনার বদলি না হয়।

একটি কাজ তৈরি করে পরীক্ষা করুন

  1. প্রতিটি কমান্ড একই মালিক প্রোফাইলে চালান: নিচের উদাহরণে ডিফল্ট প্রোফাইল ব্যবহৃত হয়েছে; নামযুক্ত প্রোফাইলের জন্য hermes -p NAME-এর মতো প্রোফাইল নির্বাচক প্রতিটি কমান্ডে দিতে হবে। ওই প্রোফাইলের বর্তমান মডেল hermes model দিয়ে এবং gateway ও নিয়মিত পরীক্ষার প্রক্রিয়ার অবস্থা hermes cron status দিয়ে দেখুন। সেবাদাতা ও মডেল স্পষ্ট করে স্থির করবেন, নাকি বর্তমান প্রধান মডেল স্থির করবেন তা ঠিক করুন। প্রতি-কাজের স্থির নির্বাচন cron.model ও cron.model_provider-এর চেয়ে অগ্রাধিকার পায়; এই সামগ্রিক সেটিং বর্তমান প্রধান মডেলের আগে প্রযোজ্য হয়। তাই স্থির না করা কাজের প্রযোজ্য ডিফল্ট বদলালে মডেলও বদলাতে পারে। সংরক্ষিত কনফিগারেশন তবু বাস্তব চালনায় ব্যবহৃত মডেলের প্রমাণ নয়।
  2. পুনরাবৃত্তির অনুমতি পাওয়ার পরে এই POSIX shell CLI উদাহরণ পর্যালোচিত skill ও বিদ্যমান কাজের জায়গার পূর্ণ পথ অনুযায়ী বদলান। আগে ইনস্টল করা সহায়তায় প্রতিটি বিকল্প নিশ্চিত করুন। ব্যাকস্ল্যাশ দিয়ে লাইন চালিয়ে যাওয়া POSIX shell-এর সিনট্যাক্স; অন্য প্ল্যাটফর্মে নিজের shell-এর সিনট্যাক্স ব্যবহার করুন। প্রম্পট ইচ্ছাকৃতভাবে সীমিত, এবং স্থানীয় ডেলিভারি প্রথম আউটপুট মালিক প্রোফাইলে রাখে:
Terminal
   hermes cron create "every 1h" \
     "Use the attached reviewed skill to read only the permitted input. Return a short local report with its source and missing-data note. Do not send or change external records." \
     --skill local-input-report \
     --name "Local input report" \
     --workdir "/absolute/existing/workspace" \
     --pin \
     --paused --paused-reason "Awaiting owner review"

কমান্ড চালানোর আগে কাজের জায়গার পথ বদলান, কাজের অনন্য নাম বেছে নিন এবং skill ফাইলে ইনপুটের অস্থায়ী চিহ্ন বদলান। CLI ডিফল্টভাবে স্থানীয় ডেলিভারি ব্যবহার করে। cron নির্দেশিকা স্পষ্টভাবে স্থির করার জন্য --model ও --provider-ও নথিভুক্ত করেছে। এই পথ বেছে নিলে নিজের ইনস্টলেশনের প্রকৃত সেবাদাতা/মডেলের পরিচয়চিহ্ন ব্যবহার করুন। প্রবেশের পরিচয়তথ্য প্রম্পট বা shell-এর ইতিহাসে রাখবেন না। --workdir Hermes-কে কাজের জায়গার নির্দেশ খুঁজে পেতে দেয়; এটি ছাড়া cron রিপোজিটরি থেকে বিচ্ছিন্নভাবে চলে। নতুন বিরত কাজ আবার চালু না হওয়া পর্যন্ত তার next_run_at থাকে না।

স্থানীয় ডেলিভারি ঠিক করে চূড়ান্ত প্রতিবেদন কোথায় সংরক্ষিত হবে। প্রম্পট এবং মডেল প্রক্রিয়াকরণে ব্যবহৃত সব ইনপুট তবু নির্বাচিত মডেল/সেবাদাতার পথ অনুসরণ করে; আবার চালু করার আগে এই তথ্যপ্রবাহ অনুমোদন করুন।

  1. ফেরত পাওয়া কাজের ID রাখুন। hermes cron list দিয়ে সংরক্ষিত skill, কাজের জায়গা, ডেলিভারি ও বিরত অবস্থা পড়ে দেখুন; hermes cron status দিয়ে সময়সূচি পরিচালকের অবস্থা পরীক্ষা করুন। বর্তমান আনুষ্ঠানিক CLI সোর্স তালিকার সারিতে সংরক্ষিত মডেল/সেবাদাতার ক্ষেত্র দেখায় না। মালিক প্রোফাইলের cron/jobs.json শুধু পড়ার জন্য খুলে সঠিক ID-তে সংরক্ষিত স্থির নির্বাচন, মডেল/সেবাদাতা ও মডেল প্রক্রিয়াকরণের বদলি সেটিং দেখুন, অথবা ইনস্টল করা সংস্করণ সত্যিই সমর্থন করে এমন কাজের বিস্তারিত দৃশ্য ব্যবহার করুন। প্রবেশের পরিচয়তথ্য ছাপাবেন না। সংরক্ষিত সেটিং অনুমোদিত ফাইল, প্রতিবেদনের মানদণ্ড ও পরিসরের সঙ্গে মেলান। দরকার হলে একই কাজ hermes cron edit <job_id> ... দিয়ে ঠিক করুন; দ্বিতীয় কপি তৈরির কারণ নেই।
  2. নির্ধারিত চালনা পর্যবেক্ষণের জন্য প্রস্তুত হলে hermes cron resume <job_id> ব্যবহার করুন। পরবর্তী প্রকৃত চালনার সময় এবং gateway-এর শেষ সফল পর্যায়ক্রমিক পরীক্ষা পড়ে দেখুন। gateway প্রায় প্রতি মিনিটে পরীক্ষা করে; সামনে চলা gateway-এর হোস্ট চালু থাকতে হবে। hermes cron tick এজেন্ট কাজের জন্য gateway শুরু করে না। সেবা বা পুনরায় চালু হওয়া সামলাতে পারা প্রক্রিয়ার হোস্টভিত্তিক শর্ত থাকে; বন্ধ ল্যাপটপ বা পুনরায় চালুর নিশ্চয়তা ধরে না নিয়ে নির্বাচিত হোস্ট পরীক্ষা করুন।
  3. একটি নির্ধারিত সময় পার হলে hermes cron runs <job_id> --limit 20 এবং মালিক প্রোফাইলের cron/output/<job_id>/-এর নিচের সংশ্লিষ্ট ফাইল দেখুন। প্রতিবেদন বাস্তব ইনপুট ও গ্রহণযোগ্যতার মানদণ্ডের সঙ্গে মেলান। প্রচেষ্টার নির্ধারিত ও দখল নেওয়ার সময়, চূড়ান্ত অবস্থা এবং উপলব্ধ কথোপকথনের রেকর্ড বা চালনার পরিমাপ থেকে বাস্তবে ব্যবহৃত সেবাদাতা ও মডেল দেখুন। ইনস্টল করা রেকর্ডে এই পরিচয় না থাকলে অজানা লিখুন। সময়সূচি পরিচালকের পরীক্ষা, অনুমতি পাওয়া চালনা বা completed অবস্থা নিজে থেকে প্রতিবেদনের বৈধতা নিশ্চিত করে না।
  4. ঠিক সেই কাজ hermes cron pause <job_id> দিয়ে বিরত করুন এবং hermes cron list-এ আবার পড়ে দেখুন। এতে ভবিষ্যৎ স্বয়ংক্রিয় সময়সূচি থামে; চলমান প্রচেষ্টা বন্ধ হয় না। বিরত থাকা অবস্থাতেও স্পষ্ট হাতে চালনা পরিচালকের ব্যতিক্রম। কাজ গ্রহণযোগ্যতার মানদণ্ড পূরণ করেছে কি না ঠিক করার সময় ইতিহাস ও স্থানীয় আউটপুট রাখুন।

ব্যর্থ হলে একই কাজ পুনরুদ্ধার করুন

আগে সঠিক প্রচেষ্টা ও আউটপুট পড়ুন, তারপর কাজের last_error, last_fire_error ও last_delivery_error থাকলে দেখুন। hermes cron status বন্ধ নিয়মিত পরীক্ষা বা লেখা যায় না এমন cron সংরক্ষণাগারকে চালু হয়ে ব্যর্থ কাজ থেকে আলাদা করে। সেবাদাতার সেটিং বদলানোর আগে মালিক প্রোফাইল ও gateway হোস্ট দেখুন: ইন্টার‌্যাক্টিভ shell ও সেবা ভিন্ন পরিচয়তথ্য পড়তে পারে। শুধু প্রভাবিত সেটিং ঠিক করুন, অবস্থা আবার যাচাই করুন এবং পরিসর অনুমোদিত থাকলেই একই ID চালু করুন। ডেলিভারি অনিশ্চিত হলে পুনরায় চেষ্টা করার আগে নির্ধারিত গন্তব্য দেখুন; অ্যাডাপ্টার প্রেরণ গ্রহণ করার পরেও সময়সীমা শেষ হতে পারে।

নথির cron নির্দেশিকার চালনা গ্রহণের পুনরুদ্ধার অংশ বলছে, বাধাপ্রাপ্ত চালনা বা প্রস্তুত কিন্তু খুঁজে না পাওয়া ট্রিগার পর্যালোচনার জন্য বিরত থাকে; চালনার ইতিহাস অংশ বলছে অজানা অবস্থার প্রচেষ্টা কখনো স্বয়ংক্রিয়ভাবে আবার চলে না। পুনরায় শুরু করার পরে পুনরুদ্ধার ঠিক করার আগে ইনস্টল করা কাজের বিরত অবস্থা ও সঠিক প্রচেষ্টার পরিচয় দেখুন। ওভারল্যাপ পরীক্ষার জন্য সক্রিয় প্রচেষ্টাকে দুবার ট্রিগার করবেন না। Hermes-এ সময়সূচি পরীক্ষার লক, একই চলমান কাজে আরেকটি প্রচেষ্টা গ্রহণের প্রতিরোধ এবং কনফিগারযোগ্য সামগ্রিক সমান্তরালতার সীমা আছে। এসব নিয়ন্ত্রণ বাইরের ব্যবস্থায় ঠিক একবার প্রভাবের নিশ্চয়তা দেয় না।

সেবাদাতার ব্যবহার ও সব সময় উপলব্ধ হোস্টে খরচ হতে পারে। একটি সীমিত ইনপুট দিয়ে শুরু করুন এবং নিয়মিত বিরতি ঠিক করার আগে নির্ধারিত চালনার পরে সেবাদাতার ব্যবহার দেখুন। নথিতে থাকা চালনা-পূর্ব স্ক্রিপ্টের সময়সীমা skill-নির্ভর মডেলের একটি পালা বা তার বিল সীমিত করে না; পরিষ্কার করা ও নিষ্ক্রিয়তার সীমা আলাদা। প্রম্পটে লেখা সময়সীমা নির্দেশ, কঠোর খরচ নিয়ন্ত্রণ নয়। সীমাহীন মডেল-পালা বা অনিশ্চিত পার্শ্বপ্রতিক্রিয়া সহ্য করতে না পারলে উপযুক্ত নিয়ন্ত্রণ না পাওয়া পর্যন্ত কাজ বিরত রাখুন। এই নির্দেশিকা নথিভুক্ত আচরণ জানায়, মাপা চালনা, মূল্য, নির্ভরযোগ্যতার ফল বা সাশ্রয়ের দাবি নয়।