यह गाइड AWR के साथ दोहराई जा सकने वाली दैनिक दिनचर्या से गुज़रती है: अपने प्रोजेक्ट की स्थिति जाँचें, टास्क क्लेम करें या फिर से शुरू करें, प्रगति दर्ज करें, चेकपॉइंट करें, और हैंडऑफ़ करें ताकि आप — या कोई एजेंट — ठीक वहीं से शुरू कर सके जहाँ चीज़ें रुकी थीं।
शुरू करने से पहले, सुनिश्चित करें कि आपका प्रोजेक्ट इनिशियलाइज़ है और आप मूल अवधारणाएँ (कार्य-आइटम, सत्र, क्लेम, चेकपॉइंट) जानते हैं — देखें Quickstart और Concepts। यही दिनचर्या MCP पर भी काम करती है; देखें MCP।
संस्करणों पर एक टिप्पणी: नीचे कुछ क्षमताएँ (action व्यू और work edit) वर्तमान स्रोत ट्री को दर्शाती हैं और हो सकता है कि रिलीज़ किए गए पैकेज में सक्षम न हों। अपनी इंस्टॉलेशन क्या समर्थन करती है, यह देखने के लिए awr --help चलाएँ।
1. अपना दिन शुरू करें: अगली कार्रवाई खोजें
कुछ भी करने से पहले स्थिति जाँच चलाएँ:
awr status
awr status और MCP टूल awr_project_status डिफ़ॉल्ट रूप से action व्यू (view="action") देते हैं। यह आपके खुले काम को चार कतारों में बाँटता है, हर कतार में अधिकतम पाँच प्रविष्टियाँ, साथ में सटीक कुल और छोड़ी गई गिनती:
| कतार | अर्थ | आप क्या करते हैं |
|---|---|---|
current | सक्रिय या क्लेम किया हुआ काम, जिसमें कोई ज्ञात प्रतीक्षा या बाधा नहीं | स्वामी सत्र के साथ जारी रखें, या स्पष्ट रूप से फिर से शुरू करें |
ready | संरचना और क्लेम तैयारी दोनों पास | कॉन्टेक्स्ट तैयार करें और स्वामित्व प्राप्त करें |
waiting | उपयोगकर्ता प्रतीक्षा, अनसुलझा निष्पादन रिकॉर्ड, या अधूरी निर्भरता | उत्तर प्राप्त करें या पुनः प्रयास से पहले पूर्व-आवश्यकता का निरीक्षण करें |
blocked | अमान्य संरचना, अनुपलब्ध निर्भरताएँ, स्रोत समस्याएँ, या स्पष्ट बाधाएँ | उद्धृत काम का निरीक्षण करें और कारण ठीक करें |
दोहराई जा सकने वाली सेलेक्टर से चयन को सीमित करें — वे प्रतिच्छेद (intersect) करती हैं:
awr status --work GUIDE-1 --goal GOAL-1 --milestone M1
कतार नेविगेशन है, प्राधिकरण नहीं: क्लेम और पूर्णता जाँचें अपनी-अपनी क्रियाओं द्वारा लागू रहती हैं। awr ready अपना संकरा अर्थ बनाए रखता है — नए क्लेम के लिए योग्य — और चल रहे काम को छोड़ देता है।
2. टास्क क्लेम करें या फिर से शुरू करें
प्रति शेल एक बार सेटअप करें ताकि हर कमांड प्रोजेक्ट-बंधा और JSON-स्वरूपित हो:
AWR_BIN=/absolute/path/to/awr
AWR_PROJECT=/absolute/path/to/initialized/project
AWR_WORK=EXAMPLE-001
AWR_AGENT=agent-primary
AWR_MODEL=your-current-model
AWR_NOTES=$(mktemp -d "${TMPDIR:-/tmp}/awr-session.XXXXXX")
awrj() { "$AWR_BIN" --project "$AWR_PROJECT" --json "$@"; }
नया काम, नए सत्र के तहत क्लेम किया हुआ:
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session start --work "$AWR_WORK" --agent "$AWR_AGENT" \
--provider generic --model "$AWR_MODEL" --claim --ttl-ms 3600000 \
--expected-revision "$AWR_REV" > "$AWR_NOTES/start.json"
AWR_SESSION=$(jq -er '.session.id' "$AWR_NOTES/start.json")
क्लेम रनटाइम स्वामित्व है; यह स्रोत कार्य स्थिति को दोबारा नहीं लिखता। यदि उस काम के लिए सत्र पहले से मौजूद है, तो session show से निरीक्षण करें और स्वामित्व की पुष्टि करें — कोई दूसरा एजेंट या मॉडल session resume के माध्यम से अपने सत्र में आगे बढ़ता है।
3. अपना कॉन्टेक्स्ट कम्पाइल करें
संपादन से पहले, सत्र के लिए कॉन्टेक्स्ट पैकेट बनाएँ:
awrj context bootstrap --session "$AWR_SESSION" --budget 1000 \
> "$AWR_NOTES/bootstrap.json"
jq -e '.context.complete' "$AWR_NOTES/bootstrap.json"
awrj context compile --work "$AWR_WORK" --session "$AWR_SESSION" \
--budget 5000 > "$AWR_NOTES/context.json"
jq -e '.completeness.complete and (.work_context != null)' "$AWR_NOTES/context.json"
सिर्फ़ बूलियन नहीं, पैकेट पढ़ें। BudgetExceeded पर बजट बढ़ाएँ या दायरा घटाएँ; SourceStale पर पहले awr source reindex चलाएँ।
4. काम करें, फिर चेकपॉइंट करें
वह दर्ज करें जो वास्तव में हुआ — विफलताएँ, गायब कॉन्टेक्स्ट, और खुले लूप:
AWR_CONTEXT_HASH=$(jq -er '.work_context.context_hash' "$AWR_NOTES/context.json")
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session checkpoint --session "$AWR_SESSION" --agent "$AWR_AGENT" \
--context-hash "$AWR_CONTEXT_HASH" \
--digest "Record the work actually done; do not invent a passing review." \
--next-action "State the exact next operator or agent action." \
--open-loop "List every unresolved loop." \
--expected-project-revision "$AWR_REV" > "$AWR_NOTES/checkpoint.json"
चेकपॉइंट के बारे में कुछ बातें समझनी चाहिए:
--agentकॉलर की घोषणा है। जो सत्र से मेल नहीं खाती, वह resume मार्गदर्शन के साथ अस्वीकृत हो जाती है; मेल खाने वाली असत्यापित रहती है — CLI किसी लेबल के पीछे के असली मॉडल को प्रमाणित नहीं कर सकती। इसे छोड़ने पर मूलundeclaredदर्ज होता है।- डाइजेस्ट और कॉन्टेक्स्ट हैश आपके दावे हैं। वास्तविक आखिरी-इस्तेमाल किया गया हैश इस्तेमाल करें; सहेजा गया चेकपॉइंट सत्यापित कॉन्टेक्स्ट, पास टेस्ट या पूर्ण काम साबित नहीं करता।
- रिवीज़न गार्ड के लिए
session showके टॉप-लेवलproject_revisionका उपयोग करें,session.revisionका नहीं। संघर्ष पर, पुनः प्रयास से पहले बीच के बदलाव देखें। - चेकपॉइंट कभी स्रोत-समर्थित अगली कार्रवाई को दोबारा नहीं लिखता। कॉन्ट्रैक्ट बदलना हो तो आधिकारिक स्रोत संपादित करें।
5. YAML को हाथ से संपादित किए बिना छोटे फ़ील्ड सुधार करें
जब स्रोत योजना में छोटा सुधार चाहिए — मान लीजिए स्रोत कहता है "Draft the guide" लेकिन वास्तविक अगला कदम "Review the conclusion" है — तो संपादन का प्रीव्यू देखें:
awr --json work edit GUIDE-1 --request-key guide-next-1 --actor writer \
--reason 'Clarify the review step' --next-action 'Review the conclusion'
रिस्पॉन्स स्रोत का स्थान, पुराने और नए मान, और स्वीकार करने के लिए फ़िंगरप्रिंट दिखाता है। उन्हें समीक्षा करें, फिर कमांड दोहराएँ और यह जोड़ें:
--accept --source-fingerprint SOURCE_FINGERPRINT \
--expected-preview PREVIEW_FINGERPRINT --expected-revision REVISION
समर्थित फ़ील्ड हैं --title, --summary, --priority और --next-action। अनिश्चित रिस्पॉन्स के बाद, host status --key guide-next-1 जाँचें; फ़ील्ड संपादन कभी स्वामित्व, लाइफ़साइकिल या सत्यापन नहीं बदलता।
6. सत्र समाप्त करें — या हैंडऑफ़ करें
जब आप दिन के लिए रुकें:
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session end --session "$AWR_SESSION" --outcome incomplete \
--expected-revision "$AWR_REV"
समाप्त करने से क्लेम रिलीज़ होता है; यह स्रोत कार्य को पूर्ण नहीं करता। चरण 4 का आपका चेकपॉइंट ही वह है जो काम को साफ़ तरीके से फिर से शुरू करने देता है।
7. वहीं से उठाएँ जहाँ आप (या कोई एजेंट) छोड़ गए थे
बाद में — या किसी दूसरे एजेंट से — पूर्ववर्ती सत्र से फिर से शुरू करें:
AWR_PREDECESSOR=the-recorded-awr-session-id
awrj session show "$AWR_PREDECESSOR"
AWR_REV=$(awrj status | jq -er '.project_revision')
awrj session resume --from-session "$AWR_PREDECESSOR" \
--agent "$AWR_AGENT" --provider generic --model "$AWR_MODEL" \
--budget 5000 --expected-revision "$AWR_REV" > "$AWR_NOTES/resume.json"
jq -e '.context_ready' "$AWR_NOTES/resume.json"
AWR_SESSION=$(jq -er '.resumed.session.id' "$AWR_NOTES/resume.json")
Resume नया AWR सत्र बनाता है; यह आपके होस्ट की नेटिव चैट नहीं बदलता। फिर कॉन्टेक्स्ट दोबारा कम्पाइल करें (चरण 3) और जारी रखें। होस्ट कम्पैक्शन के बाद, यदि वही AWR सत्र अभी भी सक्रिय है, तो बस दोबारा कम्पाइल करें — session resume को वास्तविक हैंडऑफ़ के लिए आरक्षित रखें।
योजना की तुलना आखिरी दर्ज बात से करने के लिए, status --view action और work show KEY द्वारा प्रस्तुत progress ऑब्जेक्ट देखें:
source_next_action— स्रोत योजना का आधिकारिक टेक्स्ट, अपने लोकेटर, स्रोत रिवीज़न और ताज़गी के साथ।latest_checkpoint_next_action— इसी काम, ब्रांच और स्वामित्व के लिए सबसे हालिया चेकपॉइंट, या न होने पर null।differs_from_source— true जब चेकपॉइंट टेक्स्ट स्रोत से भिन्न हो। यह अवलोकन है, समस्या नहीं: प्रगति सहेजना कभी मूल कॉन्ट्रैक्ट को नहीं बदलता और न पूर्णता स्थापित करता है।
प्रगति टेक्स्ट 240 वर्णों तक सीमित है (truncated फ़्लैग के साथ); पूरे टेक्स्ट के लिए work show KEY और session show SESSION इस्तेमाल करें।
जब कुछ गड़बड़ हो जाए
- अनिश्चित सेव रिस्पॉन्स →
host status --key REQUEST_KEYजाँचें;host recoverकेवल निरीक्षण किए गए लंबित ऑपरेशन के लिए इस्तेमाल करें। - रिवीज़न संघर्ष → वर्तमान
project_revisionके लिएstatusपढ़ें और उसी के साथ पुनः प्रयास करें। - संदिग्ध चेकपॉइंट →
session show SESSIONसे पूरा रिकॉर्ड पढ़ें; पूर्णता रसीद के बिना बाधित सेव कोई रिकवरी चेकपॉइंट नहीं है।
अधिक विफलता मोड के लिए ट्रबलशूटिंग देखें। इस दिनचर्या की शब्दावली के लिए Concepts देखें।