תיעוד

מקור

מקור של כל פריט עבודה: מי ביקש אותו, מי קיבל את ההחלטות לגביו ומדוע, ומה נמסר בסופו של דבר.

מקור הוא רישום של פריט עבודה אחד: משימה, תוכנית, משימת תוכנית או חבילת עבודה. הוא עונה על השאלות שכל שינוי צריך לספק גם לאחר שמוזג לקוד: מאין זה הגיע, מי ביקש אותו, מי הבעלים שלו, מי קיבל את ההחלטות לגביו ומדוע, ומה נמסר בסופו של דבר.

Coroid בונה אותו מתוך מה שכבר קורה כשהעבודה עוברת דרך המפעל: השיחה או הבקשה שהתחילו אותה, המסמכים שאנשים אישרו, ההחלטות שהתקבלו, וכן בקשות משיכה וקומיטים שמסרו אותה. תראו את אותו הרישום בפורטל, בבקשות משיכה ובקומיטים, וגם הסוכנים שעובדים על המשימה קוראים אותו.

מה עונה עליו מקור?

  • מקור. מה התחיל את העבודה, עם קישור חזרה אליה: שיחת צ'אט, סקירת Prepare Work, בקשת עבודה חדשה, בעיה מיובאת או שנוצרה באמצעות webhook, hook, לוח זמנים, לקוח MCP, API, ממצא או דוח, או תוכנית או משימה הורית.
  • מבקש והבעלים. האדם שביקש את העבודה, ומי הוא הבעלים שלה כעת. כאשר העבודה מגיעה דרך חשבון שירות או ממישהו מחוץ לארגון, כמו מחבר בעיה של GitHub, מקור מציין את אותו החשבון או אדם. Coroid לעולם לא ממלא פרטים שהוא צריך לנחש.
  • החלטות. אישורים, בקשות שינוי, התחלות, עצירות, ניסיונות חוזרים, מיזוגים, התערבויות ושינויי בעלות – כל אחד עם מי קיבל את ההחלטה, מתי, והסיבה כשניתנה.
  • דיון. ההודעות מאנשים שעיצבו את העבודה: קטעים קצרים מהשיחה שממנה היא הגיעה ומהמשוב על המסמכים שלה, כל אחד עם מחברו וקישור.
  • אספקה. בקשות משיכול, קומיטים, החלטות סקירה וראיות של תוצאות בדיקת איכות.

משימה השייכת לתוכנית חולקת עם התוכנית את נקודת המוצא ואת זהות המבקש. תיעוד המקור שלה מציג גם את שרשרת ההשתלשלות: המשימה, התוכנית וחבילת העבודה שלהן, וכן השיחה או הבקשה שמהן נוצרו.

תקציר ראשון

כל תצוגה של מקור נפתחת בתקציר, כך שתוכלו לראות בקלות מה המטרה של העבודה ומי עומד מאחוריה:

  • כוונה: תיאור קצר של מה שהעבודה עושה ולמה. המידע מגיע מהכוונה שאושרה, לאחר מכן מהמפרט שאושר, לאחר מכן מהבקשה המקורית, ולבסוף מתיאור המשימה או התוכנית. שורה מתחתיו מציינת מאיזו מקור נלקח המידע.
  • ביקש על ידי: האדם, חשבון השירות או הגורם החיצוני שביקש את ביצוע העבודה.
  • בעלים: מי אחראי כעת על ביצוע העבודה. זהו האדם שאליו הועברה העבודה לאחרונה, לאחר מכן האדם שאליו משויכת המשימה, לאחר מכן הבעלים של השיחה שממנה הגיעה העבודה, ולבסוף המבקש.
  • אושר על ידי: האנשים שאישרו את הכוונה, המפרטים ותוכנית היישום שלה, יחד עם התוכנית עצמה, כאשר לכל אחד מהם צוין התפקיד שבו אישר.
  • החלטות מרכזיות: עד חמש מההחלטות האחרונות שקיבלו האנשים, יחד עם הנימוק לכל החלטה.

המאשרים המופיעים ברשימה הם תמיד בני אדם. אישור ש־Coroid רשם באופן אוטומטי לא יוצג כאן; ראו החלטות אוטומטיות.

היכן ניתן לראות זאת

בפורטל

פתחו משימה או תוכנית במפעל והרחיבו את כותרת מקור שלה. מתחת לתקציר תמצאו את הפריטים הבאים:

  • מקור: מקום שבו החלה העבודה, עם קישור חזרה לשיחה, בקשה, בעיה או דיווח.
  • שושלת: התוכנית וחבילת העבודה שאליה משתייכת המשימה, כאשר היא אכן שייכת לתוכנית.
  • החלטות: מסודרות מהישנה ביותר, כאשר לכל החלטה צוין הנימוק. היסטוריה ארוכה מציגה את שמונה ההחלטות האחרונות, ובנקודת לחיצה אחת ניתן לראות את השאר.
  • דיון: ההודעות שעיצבו את העבודה, מסודרות מהחדשה ביותר.
  • אספקה: בקשות משיכה, מי שמיזג אותן, קבצי commit, פסקי דין של בדיקות איכות, סקירות וראיות.
משימהתוכניתחיפושים שמורים עם התרעות דוא״ל
התראות דוא״ל עבור חיפושים שנשמרו
מקורמקור, מבקש, בעלים, החלטות ואספקה
MarkdownJSON

הלקוחות רוצים לשמור חיפוש ולקבל התראה כאשר פריטים חדשים תואמים לו. הגרסה הראשונה שולחת רק התראות דוא״ל, לכל היותר עבור 10 חיפושים שנשמרו לחשבון.

מהכוונה שאושרה

התבקש דרך
מaya לינדקוויסט
בעלים
מaya לינדקוויסט
אושר דרך
  • סם אוקאפורבעל מוצר
  • פריה שאהמאשר טכני
מקור
הכנת עבודההתבקש דרך צ׳אט
שיחה פתוחה
החלטות
  1. אושרסם אוקאפורבעל מוצר

    זה מה שהלקוחות ביקשו. נוטיפיקציות דחיפה יכולות לחכות.

  2. התחלהמaya לינדקוויסט

    יש לשלוח זאת לפני קמפיין האביב.

  3. אושרמaya לינדקוויסטאוטומטי

    חוזה האספקה אושר אוטומטית מתוך התוכנית שאושרה.

  4. פסק דין QAעברסוכן QA

    כל 6 קריטריוני הקבלה נבדקו.

  5. איחודסם אוקאפור
אספקה
בקשות משיכה
בקשת משיכה #142אוחד דרךסם אוקאפור9c1e4a7f02
קומיטים
  • 3f2b7d1a9cקומיט סוכןcoroid/saved-search-alerts
  • 9c1e4a7f02קומיט איחוד

מקור של משימה במפעל: תחילה התקציר, לאחר מכן השיחה שממנה היא נוצרה, ההחלטות יחד עם הנימוקים שלהן, אחת מהן נרשמת אוטומטית, וכן ה־pull request והקומיטים שמספקים אותה. נתונים להמחשה.

גרסה מקוצרת מופיעה בכרטיסיית פרטים של משימה ובסקירת קידום של תוכנית, עם קישור למקור המלא.

הגישה נקבעת בהתאם לעבודה עצמה. מקור של משימה דורש גישת קריאה לפרויקט שלה, ומקור של תוכנית נגיש בכל הארגון, בדומה לתוכנית עצמה.

בבקשות משיכה

כל pull request Coroid ש־Coroid פותחת כולל סעיף מקור, בין שהוא מספק משימה, תוכנית או גרסה. הסעיף נפתח באותו תקציר: הכוונה, העבודה, מי ביקש אותה, מי הבעלים שלה, מי אישר אותה וההחלטות המרכזיות. אחר כך מופיעים נקודת המוצא והקישורים אליה, שרשרת ההשתלשלות, ההחלטות, התוצר וקישור לפתיחת העבודה ב־Coroid.

Coroid כותב את שאר הפרקים סביבו: תקציר של השינוי, קישור למשימה ולראיות של הסקירה, קריטריוני הקבלה, וכן מצב ה-QA והסקירה.

Coroid הוא בעלים רק על הקטעים שהוא מסמן בתגובות נסתרות בתוך התיאור. כאשר הוא מעדכן את ה־pull request, למשל לאחר עיבוד מחדש, הוא מחליף את הקטעים הללו ושומר על כל השאר שאתם או המבקרים שלכם כתבתם בדיוק כפי שהיה. כאשר ההיסטוריה הארוכה אינה מתאימה, ההחלטות הישנות ביותר נדחקות הצידה ובקטע מופיעה האזכורה שמידע נוסף נמצא ב־Coroid.

Pull request של הגרסה מציג את כל ה־pull request המאוגדים: מה שהוא מספק, מי ביקש זאת ומי נתן על כך אישורים, בסדר המיזוג.

בתוך הקומיטים

כל קומיט ש־Coroid יוצר מסתיים בטריילרים שמציינים לאיזו משימה הוא שייך:

Coroid-Task: 3f6e2b1c-7d4a-4c1e-9b2f-0a8d5e6c7b91
Coroid-Plan: 8a41b7c3-25d0-4f6b-a1e9-6c3d2b7f4e05
Coroid-Requested-By: Maya Lindqvist
Coroid-Origin: prepare_work

בהתאם לסוג העבודה, הקומיט מציין גם את משימת התוכנית, חבילת העבודה, ריצת הסוכן, התיקון או הגרסה. טריילר הבקשה מכיל שם ולא כתובת דוא״ל.

Coroid הוא המחבר של כל קובץ התחייבות שהוא יוצר. כאשר קובץ ההתחייבות נכתב באמצעות חשבון מחובר של אדם, Coroid מוסיף גם את עצמו כמחבר משני:

Co-authored-by: Coroid <ai@coroid.ai>

Coroid שומר גם על מפת ייחוס משלו שמקשרת בין כל קובץ התחייבות למשימה או לתוכנית הרלוונטית. כאשר בקשת משיכה ש־Coroid פתח ממוזגת ב־GitHub או ב־GitLab, Coroid רושם את קובץ ההתחייבות למיזוג או לסקווש שהתקבל, כך שמיזוג מסוג סקווש לא יגרום לאובדן הקישור.

עבור סוכנים

סיכום מקור של כל סוכן בנוגע למשימה כולל את הסיבה לקיומה, מי ביקש אותה, מי בעל הזכויות עליה ומה הוחלט לגביה. כאשר סוכן זקוק למידע נוסף, הוא יכול לקרוא את הרשומה המלאה – פרק אחר פרק.

המפרט עדיין קובע את הכללים. כאשר מקור העבודה והמפרט אינם תואמים זה לזה, הסוכן פועל לפי המפרט ומציין את הסתירה בדוח שלו במקום לבחור באופן אוטומטי. הודעות וסיבות שנכתבו על ידי אנשים עוברות דרך מסנן ההזרקת הפקודות של Coroid לפני שהסוכן קורא אותן, וטקסט שהמסנן מסמן כבעייתי נמנע מלהופיע.

מה שמעולם לא מועבר לשרת הגיט שלך

תוכן הצ'אט לעולם לא נכתב לתוך pull request או קומיט. בקשת משיכה מכילה שמות, תפקידים, החלטות, סיבות וקישורים. השיחה מוצגת רק כמספר ההודעות ושמות הכותבים, עם קישור לשיחה ב־Coroid. כתובות דוא״ל לעולם לא נכתבות; האנשים מופיעים בשמם בלבד.

כברירת מחדל, הפרק של מקור ב־pull request כולל פסקת כוונה, החלטות מרכזיות וסיבות שניתנו על ידי האנשים. ארגון יכול לבחור באפשרות של קישורים בלבד. במקרה זה הפרק שומר את שם המבקש, בעלים של העבודה, מי נתן אישורים, ההחלטות והקישורים חזרה ל־Coroid, ומוותר על פסקת הכוונה, ההחלטות המרכזיות וכל הסיבות.

בחרו באפשרות של קישורים בלבד כאשר אנשים שאינם אמורים לקרוא את הנימוקים של המוצר יכולים לראות את מאגר הקוד שלכם – למשל כאשר הוא ציבורי. הבחירה חלה על בקשות משיכה ש־Coroid פותח או מעדכן לאחר ביצועה. עדיין אין מסך הגדרות לכך. צרו קשר איתנו כדי להפוך את הארגון שלכם לאפשרות של קישורים בלבד.

החלטות וסיבותיהן

Coroid רושם מי קיבל איזו החלטה במהלך העבודה: אישורים על הכוונה, המפרטים והתוכניות, תהליך הכישורים, התחלת עבודה, עצירתה, ניסיון חוזר וסיומה באופן ידני, מיזוגים ומיזוגים בכוח, עקיפת שערים, אישורי שחרור, שינויים בבעלים או במשתתפים בשיחה, וכן פסקי הדין של סוכני ה־QA והסקירה ושל הרכז.

כאשר אתם נותנים אישור ומתחילים תוכנית, מתחילים תוכנית, עוצרים משימה או מנסים משימה שוב, האישור מבקש סיבה אופציונלית של עד 2,000 תווים. היא נשמרת עם שמכם במקור של העבודה, ובקשות משיכה מציגות אותה אלא אם הארגון שלכם משתמש באפשרות של קישורים בלבד. משפט אחד מספיק. 'לקוחות ביקשו זאת לפני קמפיין האביב' מספר לקורא הבא יותר מהאישור לבדו. מיזוג בכוח דורש כבר סיבה כתובה, והיא נרשמת באותו אופן.

החלטות אוטומטיות

חלק מההחלטות נרשמות בשם מישהו במקום שנעשו על ידו. חוזה האספקה של משימת תוכנית מאושר אוטומטית מתוך התוכנית שאושרה, ותוכנית שאושרה ללא אדם מסוים גורמת ליוצרה למלא את התפקיד. ציר הזמן מסמן החלטות אלו כ'אוטומטיות', והן לעולם אינן נחשבות לאישור של אדם מסוים.

החלטות שנעשו על ידי סוכנים – כמו פסקי דין של QA וסקירה והחלטות של הרכז – מופיעות תחת שם הסוכן יחד עם התקציר שהוא סיפק.

הוסיפו הקשר למשימה בתהליך

ניתן להעביר מידע לסוכנים בזמן שמשימה פועלת, מבלי לעצור אותה. פתחו את כרטיסיית הפעילות של המשימה ובחרו ב־"הוספת הקשר" ליד הפעילות המתנהלת. רשמו את המידע שהסוכנים צריכים לדעת, עד 2,000 תווים, ואשררו.

  • כאשר סוכן פועל, הוא קורא את ההודעה שלכם בתורו הבא. רכז שממתין לסוכן אחר מתעורר כדי לקרוא אותה.
  • כאשר אף סוכן אינו פועל, הסוכן הבא שיתחיל לעבוד יקרא אותה.

ההודעה נרשמת במקור של המשימה כהחלטה מסוג "הוספת הקשר", יחד עם שמכם. היא אינה משנה את תוצאת המשימה: אם ההודעה שלכם סותרת את המפרט, הסוכן ידווח על הסתירה במקום לבחור באופן אוטומטי. כדי לשנות את התוצאה, שנו את המפרט או שלחו את המשימה חזרה לעיבוד מחדש.

הוספת הקשר דורשת הרשאת כתיבה לפרויקט של המשימה. משימות שהושלמו או בוטלו אינן מאפשרות זאת.

עקבו אחר קוד עד למקור העבודה שלו

ניתן להתחיל משורת קוד ולמצוא את העבודה שהוסיפה אותה. הפורטל, הסוכנים, לקוחות MCP ו־Git יובילו אתכם לשם.

מדוע זה נמצא כאן?

בסקירת הקוד של משימה, לכל חלק שנוגע בשורות קיימות יש כפתור זה. הוא מחפש את ההתחייבויות ששינו את השורות האלה לאחרונה בענף היעד ומציג מאין כל אחת מהן הגיעה:

  • נוצר על ידי Coroid: המשימה או התוכנית, יחד עם כוונתה, מי ביקש ואישר אותה, ההחלטות המרכזיות וקישור לפרטי המקור המלאים.
  • נוצר מחוץ ל־Coroid: אין משימה או תוכנית שמתעדים מדוע השינוי נעשה, ולכן ניתן לראות את המחבר ואת התאריך.

קובץ שהשינוי מוסיף אינו מכיל שורות קוד קודמות, ולכן אין לו כפתור.

באמצעות סוכן או לקוח MCP

סוכנים ולקוחות MCP שואלים את אותה שאלה באמצעות כלי אחד. הכלי מקבל קובץ, ובמידת הצורך גם טווח שורות, ענף, תגית או 커יט. הוא מחזיר כל טווח שורות יחד עם הקומיט ששינה אותו לאחרונה. עבור קומיט Coroid מסוים, הכלי מחזיר גם את המשימה או התוכנית שעומדים מאחוריו ומסכם את מקור שלהם. הכלי נקרא explain_code.

  • סוכנים: סוכני המפתח, הסוקר והרכז של Coroid משתמשים בו לפני שהם משנים או מוחקים קוד שמטרתו אינה ברורה.
  • לקוחות MCP: מדובר בכלי קריאה, ולכן הוא דורש תפקיד סוקר ותחום פעולה זה: mcp.read. הוא פועל רק בפרויקטים שהחיבור יכול לגשת אליהם ומאפשר 30 פניות לדקה.

באמצעות Git

כל קומיט ש־Coroid יוצר מכיל את שם העבודה בשדות ה-trailer שלו, כך ש-Git יכול להוביל אתכם לשם גם כן:

git blame -L 120,120 src/search/alerts.ts   # the commit that last changed line 120
git log -1 <sha>                            # its Coroid-Task or Coroid-Plan trailer

לאחר מכן פתחו את אותה משימה או תוכנית בפורטל כדי לקרוא את מקור שלה:

  • משימה: https://client.coroid.ai/factory/task:<task id>?panel=provenance
  • תוכנית: https://client.coroid.ai/factory/<plan id>#provenance

במקרה של commit מסוג merge או squash, פתחו את ה־pull request שממנו הוא נוצר. כותרת המקור שלו מכילה קישור בחזרה אל ה־Coroid.

ייצוא מקור

בפאנל יש שני כפתורי הורדה בחלק העליון. הורדת Markdown מאפשרת לקבל את רשימת המקור כמסמך שבו התוכן הסיכומי מופיע ראשון; הוא בעל אותו מבנה כמו כותרת ה־pull request, כולל הסיבות אך ללא קטעי שיחה. הורדת JSON מאפשרת לקבל את הרשומה המלאה, כולל קטעי הדיון, לשימושכם האישי או לצורך כלים. שמרו על קובץ ה־JSON כפרטי כמו השיחה שהוא מצטט.

מקור העבודה לא תועד

Coroid מתעד את מקור העבודות שנוצרו לאחר הצגת התכונה. בעבודות ישנות יותר מוצגת הודעה זו במקום נקודת המוצא:

נקודת המוצא לא תועדה. העבודה הזו נוצרה לפני ש־Coroid תיעד מקור.

כאשר Coroid זיהה מקור מתוך רשומות קודמות – למשל שיחת צ'אט שממנה נוצרה תוכנית או הדוח שעומד בבסיסה – הלוח מציג אותו כמקור ידוע. החלטות שכבר תועדו מראש, כגון אישורי מפרטים, יופיעו גם הן; אולם חלק מהן עשויות שלא להופיע.

מקור שתויג כ״נגזר״ נבנה מחדש מתוך רשומות קודמות ולא נרשם בזמן יצירת העבודה.