برنامهریزی، تحلیل و عملیات پلتفرم · فصل ۵ — Virtual Cast، Canon Boundary و Repair Workflow · 217
Canon Boundary برای Agentها
داده و event دارد اما آنها را به مدل تصمیم، attention، experiment یا platform policy قابل توضیح تبدیل نمیکند. موضوع جاری: «Canon Boundary برای Agentها». میتواند برای «Canon Boundary برای Agentها» model، signal و guardrail لازم را در یک workflow محدود تعریف و ارزیابی کند.
خلاصهٔ درس
داده و event دارد اما آنها را به مدل تصمیم، attention، experiment یا platform policy قابل توضیح تبدیل نمیکند. موضوع جاری: «Canon Boundary برای Agentها».
میتواند برای «Canon Boundary برای Agentها» model، signal و guardrail لازم را در یک workflow محدود تعریف و ارزیابی کند.
خروجی این درس
میتواند برای «Canon Boundary برای Agentها» model، signal و guardrail لازم را در یک workflow محدود تعریف و ارزیابی کند.
پیشنیازها
1. مسئله: Context مساوی Canon نیست
Agentها در یک Run میتوانند همزمان System/Developer/User instructions، متن بازیابیشده، Tool output، Session memory و Summaryهای قبلی را ببینند. Fluent بودن یا تکرار شدن یک جمله آن را authoritative نمیکند. خروجی این درس Agent Canon Boundary & Authority Ledger v1 است تا هر Item قبل از durable شدن، Identity، Authority، Provenance، Scope، Lifetime و Promotion State صریح داشته باشد.
2. مرز درس
PLN-026 مالک Persona Model درس PLN-025 یا Repair Diagnostics درس PLN-027 نیست. اینجا Agent واقعی mutate نمیشود و Production policy عوض نمیشود. فقط یک Ledger آفلاین میسازیم که نشان دهد کدام Item میتواند CANONICAL باشد و کدام باید PROVISIONAL، SESSION_LOCAL، EXTERNAL_UNTRUSTED، DEPRECATED، UNKNOWN، INCONCLUSIVE یا HOLD بماند.
3. FACT خارجی و DESIGN داخلی
Model Spec برای رفتار مدل OpenAI زنجیرهی authority دارد: instruction سطح بالاتر بر سطح پایینتر مقدم است و tool/assistant output یا quoted/untrusted content بهصورت پیشفرض authority ندارد. Agents SDK نیز input/output/tool guardrailها را در boundaryهای مشخص اجرا میکند و Handoff میتواند input را filter کند. اما Classهای Canon، Promotion Authority و Conflict/Supersession این درس MAKNOW DESIGN هستند.
4. Canon Item را قابل اشاره کن
هر ردیف با canon_item_id و content_hash شروع میشود. اگر محتوا عوض شد ولی همان Identity نگه داشته شد، Audit شکسته است. تغییر محتوا باید Hash جدید و در صورت durable بودن، transition یا Item جدید داشته باشد.
5. Source Origin با Authority یکی نیست
source_origin میگوید Item از Policy document، User، Tool، Retrieval یا Summary آمده است. authority_level میگوید آیا آن Origin حق تصمیمگیری در این Scope را دارد یا نه. Tool output ممکن است جدیدتر باشد اما بدون delegation نمیتواند Rule سطح بالاتر را override کند.
6. Provenance قبل از Promotion
provenance_ref باید ما را به منبع یا transition قابلممیزی برگرداند. Summary بدون provenance ممکن است مفید باشد، اما durable canon نیست. نبود provenance قطعی → UNKNOWN، نه «احتمالاً درست».
7. Scope و Lifetime را جدا کن
یک Item میتواند فقط برای SESSION یا یک Agent/Task معتبر باشد. SESSION_LOCAL دقیقاً برای جلوگیری از همین جهش ساخته شده است: چیزی که برای یک Run مفید است نباید بهطور خودکار در Workspace یا Organization durable شود.
8. Promotion باید Actor و Event داشته باشد
برای Canon شدن، promotion_state=APPROVED کافی نیست اگر promotion_authority نامشخص باشد. Promotion باید Actor مجاز، Provenance و Scope روشن داشته باشد. Agent output، green test یا memory write بهتنهایی Promotion Event نیست.
9. Conflict را پنهان نکن
اگر Tool output یا Summary با Policy authoritative تعارض دارد، تعارض باید در conflict_state دیده شود. تا زمانی که Owner معتبر Conflict را resolve نکرده، Item جدید را به CANONICAL هل نده؛ State مناسب INCONCLUSIVE یا یک non-success typed state است.
10. Supersession با Delete فرق دارد
وقتی Rule جدید Rule قبلی را جایگزین میکند، supersedes_ref رابطه را نگه میدارد. Item قدیمی حذف نمیشود؛ DEPRECATED میشود تا Replay و Audit بفهمند در زمان گذشته چه چیزی معتبر بوده است.
11. Guardrail و Handoff Filter چه چیزی را ثابت میکنند؟
Guardrail میتواند ورودی/خروجی یا Tool call را check کند و Handoff Filter میتواند Context منتقلشده را کم کند. هیچکدام ذاتاً Provenance یا Canonicality ایجاد نمیکنند. Filter فقط visibility را تغییر میدهد؛ Authority باید دوباره از Ledger محاسبه شود.
12. Baseline — Policy معتبر، Summary قدیمی و Tool output
Policy POL-2026-09 با Hash، Provenance و Approval صاحب Policy به CANONICAL میرسد. Summary جلسه قبل Session-scoped است و SESSION_LOCAL میماند. Tool output جدیدتر که با Policy تعارض دارد چون authority delegated ندارد EXTERNAL_UNTRUSTED است. Baseline باید هر سه را جدا نگه دارد.
| case_id | origin | authority | scope_lifetime | provenance | promotion | conflict | filter_ok | state | reason |
|---|---|---|---|---|---|---|---|---|---|
| baseline_current_policy | SIGNED_POLICY_DOC | ORG_POLICY | ORGANIZATION/DURABLE | YES | APPROVED | NONE | YES | CANONICAL | TRACED_PROMOTION_AND_AUTHORITY_CLOSED |
| prior_session_summary | SESSION_SUMMARY | NO_AUTHORITY | SESSION/SESSION | NO | NONE | NONE | YES | SESSION_LOCAL | SESSION_SCOPE_CANNOT_SILENTLY_BECOME_DURABLE |
| tool_output_newer_conflict | TOOL | NO_AUTHORITY | SESSION/SESSION | YES | NONE | OPEN | YES | EXTERNAL_UNTRUSTED | TOOL_OUTPUT_HAS_NO_DELEGATED_AUTHORITY |
| handoff_filter_missing | SIGNED_POLICY_DOC | ORG_POLICY | HANDOFF/DURABLE | YES | APPROVED | NONE | NO | HOLD | DECLARED_HANDOFF_FILTER_NOT_APPLIED |
| missing_provenance | POLICY_DRAFT | ORG_POLICY | ORGANIZATION/DURABLE | NO | APPROVED | NONE | YES | UNKNOWN | DECISIVE_EVIDENCE_MISSING |
| conflicting_canonical_items | SIGNED_POLICY_DOC | ORG_POLICY | ORGANIZATION/DURABLE | YES | APPROVED | OPEN | YES | INCONCLUSIVE | UNRESOLVED_AUTHORITY_CONFLICT |
| superseded_canon | SIGNED_POLICY_DOC | ORG_POLICY | ORGANIZATION/DURABLE | YES | SUPERSEDED | RESOLVED | YES | DEPRECATED | SUPERSEDED_BY_NEWER_CANON |
| transfer_filtered_replacement | SIGNED_POLICY_DOC | ORG_POLICY | HANDOFF/DURABLE | YES | APPROVED | RESOLVED | YES | CANONICAL | TRACED_PROMOTION_AND_AUTHORITY_CLOSED |
13. Shortcutهای خطرناک
- Summary قبلی را بدون Provenance Canon کنی →
UNKNOWN/SESSION_LOCAL. ۲) Tool output را چون تازهتر است بالاتر از Policy قرار دهی →EXTERNAL_UNTRUSTED. ۳) Conflict را حذف کنی و دو Rule را همزمان Canon نگه داری →INCONCLUSIVE. ۴) Handoff را بدون Filter اعلامشده انجام دهی →HOLD.
14. Transfer — Multi-Agent Handoff و Supersession
در Transfer، Agent دوم فقط subset اعلامشده را میگیرد. Policy قدیمی POL-2026-08 با supersedes_ref به DEPRECATED میرود و Policy جدید POL-2026-09 فقط بعد از Provenance و Approval مستقل CANONICAL میشود. نتیجه Baseline کپی نمیشود؛ Canonicality بعد از Filter و Supersession دوباره محاسبه میشود.
15. Lab، Assessment و Freshness
در lab/PLN-026-LAB1/learner/ دستور python run_checks.py را اجرا کن. هشت Fixture شامل Baseline، Prior-session Summary، Tool Conflict، Missing Handoff Filter، Missing Provenance، Unresolved Canon Conflict، Superseded Canon و Transfer Replacement است. Claimهای Model Spec و Agents SDK در 2026-09-16 دوباره بررسی شدهاند؛ هر تغییر Canonical Package نیازمند Version جدید است.
ارزیابی
پاسخنامهی این درس در بستهی آموزش وجود ندارد؛ خودت جواب بده و صادقانه علامت بزن. «نیاز به مرور» درس را به صف تکرار میفرستد.
Q1 boundary
Q2 application
Q3 provenance
Q4 authority
Q5 transfer
Q6 fact_design
ملاکهای ارزیابی (rubric)
Full credit requires: exact lesson boundary; explicit item identity and content hash; correct separation of source origin from authority; traceable provenance; scope/lifetime discipline; visible conflict and supersession; an authorized promotion event for durable canon; and independent recomputation after the handoff transfer.
منابع و تازگی
مطالعهٔ موارد (case studies)
فایلهای آزمایشگاه
در همین پوشه python run_checks.py را اجرا کن. Fixtureها synthetic و کاملاً offline هستند. برای هر Item جداگانه بررسی کن که Visibility، Authority، Provenance، Scope/Lifetime، Conflict، Handoff Filter و Promotion Gate یکی نیستند. هیچ API key، شبکه، credential یا تغییر Agent واقعی لازم نیست.