{"id":17342,"date":"2026-07-29T03:45:01","date_gmt":"2026-07-29T07:45:01","guid":{"rendered":"https:\/\/wp.glbgpt.com\/?p=17342"},"modified":"2026-07-29T03:45:12","modified_gmt":"2026-07-29T07:45:12","slug":"codex-vs-claude-code","status":"publish","type":"post","link":"https:\/\/wp.glbgpt.com\/ar\/hub\/codex-vs-claude-code","title":{"rendered":"\u0643\u0648\u062f\u064a\u0643\u0633 \u0645\u0642\u0627\u0628\u0644 \u0643\u0648\u062f Claude: \u0623\u064a \u0639\u0627\u0645\u0644 \u062a\u0631\u0645\u064a\u0632 \u064a\u0646\u0627\u0633\u0628 \u0633\u064a\u0631 \u0639\u0645\u0644\u0643\u061f"},"content":{"rendered":"<p class=\"wp-block-paragraph\"><strong>\u0644\u0627 \u064a\u062a\u0639\u0644\u0642 \u0627\u0644\u0623\u0645\u0631 \u0641\u064a \u00abCodex vs Claude Code\u00bb \u0628\u062a\u062d\u062f\u064a\u062f \u0641\u0627\u0626\u0632 \u0648\u0627\u062d\u062f \u0634\u0627\u0645\u0644 \u0628\u0642\u062f\u0631 \u0645\u0627 \u064a\u062a\u0639\u0644\u0642 \u0628\u0627\u062e\u062a\u064a\u0627\u0631 \u0623\u0633\u0644\u0648\u0628 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0630\u064a \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0648\u062b\u0648\u0642 \u0628\u0647 \u064a\u0648\u0645\u064a\u064b\u0627.<\/strong> \u064a\u0645\u0643\u0646 \u0644\u0643\u0644\u0627 \u0627\u0644\u0645\u0646\u062a\u062c\u064a\u0646 \u0641\u062d\u0635 \u0645\u0633\u062a\u0648\u062f\u0639\u060c \u0648\u062a\u062d\u0631\u064a\u0631 \u0645\u0644\u0641\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629\u060c \u0648\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0623\u0648\u0627\u0645\u0631\u060c \u0648\u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u0648\u0634\u0631\u062d \u0627\u0644\u062a\u0635\u062d\u064a\u062d. \u0648\u062a\u0643\u0645\u0646 \u0627\u0644\u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a \u0627\u0644\u062c\u0648\u0647\u0631\u064a\u0629 \u0641\u064a \u0643\u064a\u0641\u064a\u0629 \u062a\u0641\u0648\u064a\u0636 \u0627\u0644\u0645\u0647\u0627\u0645\u060c \u0648\u0645\u062f\u0649 \u062a\u0643\u0631\u0627\u0631 \u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u0648\u0643\u064a\u0644\u060c \u0648\u062d\u062c\u0645 \u0627\u0644\u0623\u062f\u0644\u0629 \u0627\u0644\u062a\u064a \u064a\u0645\u0643\u0646\u0643 \u0641\u062d\u0635\u0647\u0627\u060c \u0648\u0645\u062f\u0649 \u0645\u0644\u0627\u0621\u0645\u0629 \u0643\u0644 \u0623\u062f\u0627\u0629 \u0644\u0628\u064a\u0626\u0629 \u0627\u0644\u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0644\u062f\u064a\u0643.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u064a \u0627\u062e\u062a\u0628\u0627\u0631\u0646\u0627 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0623\u0631\u0628\u0639\u060c \u0633\u062c\u0644 \u00ab\u0643\u0648\u062f\u064a\u0643\u0633\u00bb 98\/100\u060c \u0628\u064a\u0646\u0645\u0627 \u0633\u062c\u0644 \u00abClaude Code\u00bb 99\/100. \u0648\u0642\u062f \u0623\u0646\u062c\u0632 \u0643\u0644\u0627\u0647\u0645\u0627 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629. \u0623\u0638\u0647\u0631 Claude Code \u062a\u063a\u0637\u064a\u0629 \u0623\u0648\u0633\u0639 \u0644\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0648\u0627\u0644\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062d\u062f\u064a\u0629\u060c \u0641\u064a \u062d\u064a\u0646 \u0623\u0646 Codex \u063a\u0627\u0644\u0628\u064b\u0627 \u0645\u0627 \u062a\u0648\u0635\u0644 \u0625\u0644\u0649 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0628\u0646\u0637\u0627\u0642 \u0623\u0636\u064a\u0642 \u0648\u0642\u062f\u0645 \u0623\u062f\u0644\u0629 \u0623\u0642\u0648\u0649 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0641\u064a \u0625\u0639\u062f\u0627\u062f\u0627\u062a\u0646\u0627. \u0648\u0644\u0627 \u064a\u064f\u0639\u062f \u0641\u0627\u0631\u0642 \u0646\u0642\u0637\u0629 \u0648\u0627\u062d\u062f\u0629 \u0641\u064a \u0627\u062e\u062a\u0628\u0627\u0631 \u0635\u063a\u064a\u0631 \u0628\u0644\u063a\u0629 Python \u0633\u0628\u0628\u064b\u0627 \u0643\u0627\u0641\u064a\u064b\u0627 \u0644\u0625\u0639\u0644\u0627\u0646 \u0641\u0627\u0626\u0632 \u0639\u0627\u0644\u0645\u064a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0637\u0648\u0631\u064a\u0646 \u0627\u0644\u0630\u064a\u0646 \u0644\u0627 \u064a\u0631\u063a\u0628\u0648\u0646 \u0641\u064a \u0631\u0628\u0637 \u0628\u0642\u064a\u0629 \u0633\u064a\u0631 \u0639\u0645\u0644\u0647\u0645 \u0628\u0648\u0643\u064a\u0644 \u0628\u0631\u0645\u062c\u0629 \u0648\u0627\u062d\u062f \u0625\u0636\u0627\u0641\u0629 GlobalGPT \u0643\u0637\u0628\u0642\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0648\u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0648\u0633\u0627\u0626\u0637. \u062a\u062f\u0645\u062c GlobalGPT \u0623\u0643\u062b\u0631 \u0645\u0646 100 \u0646\u0645\u0648\u0630\u062c \u0645\u0646 \u0623\u0641\u0636\u0644 \u0627\u0644\u0646\u0645\u0627\u0630\u062c\u060c \u0645\u062b\u0644 GPT 5.6 \u0648Claude Opus 5 \u0648GPT Image 2\u060c \u0641\u064a \u0644\u0648\u062d\u0629 \u062a\u062d\u0643\u0645 \u0648\u0627\u062d\u062f\u0629. \u0639\u0644\u0627\u0648\u0629 \u0639\u0644\u0649 \u0630\u0644\u0643\u060c \u0641\u0625\u0646 <a href=\"https:\/\/www.glbgpt.com\/home\/cli?inviter=hub_content_cli&amp;login=1\">GlobalGPT CLI<\/a>, \u060c \u0648\u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0633\u0627\u0631\u0627\u062a MCP \u0648Skill \u0645\u0646 Codex \u0623\u0648 Claude Code \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0622\u0631\u0627\u0621 \u062b\u0627\u0646\u064a\u0629 \u0623\u0648 \u0644\u0644\u062a\u062e\u0637\u064a\u0637 \u0623\u0648 \u0627\u0644\u062a\u0648\u062b\u064a\u0642 \u0623\u0648 \u0623\u064a \u0646\u0645\u0627\u0630\u062c \u0623\u062e\u0631\u0649 \u0645\u062f\u0639\u0648\u0645\u0629\u060c \u0628\u064a\u0646\u0645\u0627 \u064a\u062d\u062a\u0641\u0638 \u0645\u0636\u064a\u0641 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u0623\u0635\u0644\u064a \u0628\u0627\u0644\u0633\u064a\u0637\u0631\u0629 \u0639\u0644\u0649 \u062a\u0639\u062f\u064a\u0644\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<figure class=\"wp-block-image size-large\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"645\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-1024x645.png\" alt=\"\u0644\u0648\u062d\u0629 \u062a\u062d\u0643\u0645 GlobalGPT\" class=\"wp-image-19280\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-1024x645.png 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-300x189.png 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-18x11.png 18w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-767x483.png 767w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-1536x967.png 1536w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/glb-2048x1289.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-3e41869c wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link has-black-color has-text-color has-background has-link-color wp-element-button\" href=\"https:\/\/www.glbgpt.com\/home?inviter=hub_popup&amp;login=1\" style=\"background:linear-gradient(135deg,rgba(250,183,0,0.55) 0%,rgba(255,106,0,0.66) 96%)\"><strong>\u062c\u0631\u0628 \u0623\u0643\u062b\u0631 \u0645\u0646 100 \u0646\u0645\u0648\u0630\u062c \u0645\u0646 \u0623\u0641\u0636\u0644 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0639\u0644\u0649 GlobalGPT<\/strong><\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u062c\u0645\u0639 \u0647\u0630\u0647 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0631\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0627\u0644\u062e\u0637\u0637\u060c \u0648\u0627\u0644\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a\u060c \u0648\u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u0648\u0633\u064a\u0639\u060c \u0648\u0627\u0644\u062a\u062c\u0627\u0631\u0628 \u0627\u0644\u0645\u062c\u062a\u0645\u0639\u064a\u0629 \u0627\u0644\u0645\u062d\u062f\u062f\u0629 \u0628\u0648\u0636\u0648\u062d. \u0648\u0627\u0644\u0647\u062f\u0641 \u0645\u0646 \u0630\u0644\u0643 \u0647\u0648 \u0645\u0633\u0627\u0639\u062f\u0629 \u0627\u0644\u0645\u0637\u0648\u0631 \u0627\u0644\u0645\u0633\u062a\u0642\u0644 \u0639\u0644\u0649 \u0627\u062e\u062a\u064a\u0627\u0631 \u0623\u062f\u0627\u0629 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u062f\u0648\u0646 \u0627\u0644\u062a\u0639\u0631\u0636 \u0644\u0644\u0627\u0631\u062a\u0628\u0627\u0643 \u0627\u0644\u0646\u0627\u062c\u0645 \u0639\u0646 \u0637\u0631\u0642 \u0627\u0644\u0648\u0635\u0648\u0644 \u0639\u0628\u0631 \u0627\u0644\u0627\u0634\u062a\u0631\u0627\u0643\u0627\u062a\u060c \u0648\u0627\u0644\u0631\u0635\u064a\u062f \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u060c \u0648\u0641\u0648\u0627\u062a\u064a\u0631 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API).<\/p>\n\n\n\n<style>\n.cvc-toc{margin:28px 0;padding:22px;border:1px solid #e2e6ec;border-radius:8px;background:linear-gradient(145deg,#fff 0%,#f7f9fc 100%);color:#18202b;font:14px\/1.4 Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.cvc-toc *{box-sizing:border-box}.cvc-toc .head{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.cvc-toc h2{margin:0;font-size:20px}.cvc-toc .hint{color:#667085;font-size:12px}.cvc-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin:0;padding:0;list-style:none;counter-reset:toc}.cvc-toc li{counter-increment:toc}.cvc-toc a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:6px;color:#344054;text-decoration:none;transition:background .15s ease,color .15s ease}.cvc-toc a:before{content:counter(toc,decimal-leading-zero);min-width:24px;color:#2563eb;font-size:11px;font-weight:800;letter-spacing:.04em}.cvc-toc a:hover{background:#eef4ff;color:#174ea6}@media(max-width:720px){.cvc-toc ol{grid-template-columns:1fr}.cvc-toc .head{align-items:start;flex-direction:column}.cvc-toc{padding:18px}}\n<\/style>\n<nav class=\"cvc-toc\" aria-label=\"\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u062d\u062a\u0648\u064a\u0627\u062a\">\n  <div class=\"head\"><h2>\u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629<\/h2><span class=\"hint\">\u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0645\u0627<\/span><\/div>\n  <ol>\n    <li><a href=\"#quick-comparison\">\u0645\u0642\u0627\u0631\u0646\u0629 \u0633\u0631\u064a\u0639\u0629<\/a><\/li><li><a href=\"#what-they-are\">\u0645\u0627 \u0647\u064a \u0647\u0630\u0647 \u0627\u0644\u0623\u062f\u0648\u0627\u062a\u061f<\/a><\/li><li><a href=\"#workflow-control\">\u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0648\u0627\u0644\u062a\u062d\u0643\u0645<\/a><\/li><li><a href=\"#repository-understanding\">\u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639<\/a><\/li><li><a href=\"#implementation\">\u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621<\/a><\/li><li><a href=\"#code-review\">\u062c\u0648\u062f\u0629 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f<\/a><\/li><li><a href=\"#safety\">\u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a \u0648\u0627\u0644\u0633\u0644\u0627\u0645\u0629<\/a><\/li><li><a href=\"#customization\">MCP \u0648\u0627\u0644\u0645\u0647\u0627\u0631\u0627\u062a \u0648\u0627\u0644\u062a\u062e\u0635\u064a\u0635<\/a><\/li><li><a href=\"#pricing\">\u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0648\u0627\u0644\u062d\u062f\u0648\u062f<\/a><\/li><li><a href=\"#controlled-test\">\u0627\u062e\u062a\u0628\u0627\u0631 \u0645\u064f\u0631\u0627\u0642\u064e\u0628<\/a><\/li><li><a href=\"#user-experience\">\u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646<\/a><\/li><li><a href=\"#globalgpt\">\u0637\u0628\u0642\u0629 \u0627\u0644\u062a\u0645\u062f\u064a\u062f GlobalGPT<\/a><\/li><li><a href=\"#which-one\">\u0623\u064a\u0647\u0645\u0627 \u062a\u062e\u062a\u0627\u0631\u061f<\/a><\/li><li><a href=\"#faq\">\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629<\/a><\/li>\n  <\/ol>\n<\/nav>\n\n\n\n<h2 id=\"quick-comparison\" class=\"wp-block-heading\">\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629 \u0639\u0644\u0649 \u0643\u0648\u062f \u00abCodex\u00bb \u0645\u0642\u0627\u0628\u0644 \u0643\u0648\u062f \u00abClaude\u00bb<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u0627\u0644\u0639\u0627\u0645\u0644 \u0627\u0644\u062d\u0627\u0633\u0645<\/th><th>\u0643\u0648\u062f\u0643\u0633<\/th><th>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/th><\/tr><\/thead><tbody><tr><td>\u0627\u0644\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639<\/td><td>\u064a\u0642\u0648\u0645 \u0628\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0648\u062a\u062d\u0631\u064a\u0631\u0647 \u0648\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0639\u0628\u0631 \u0623\u0633\u0637\u062d Codex \u0627\u0644\u0645\u062f\u0639\u0648\u0645\u0629<\/td><td>\u0648\u0643\u064a\u0644 \u0637\u0631\u0641\u064a \u062a\u0641\u0627\u0639\u0644\u064a \u0645\u062e\u0635\u0635 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0648\u0627\u0644\u062a\u062d\u0631\u064a\u0631 \u0648\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a<\/td><\/tr><tr><td>\u0627\u0644\u0646\u0645\u0637 \u0627\u0644\u0630\u064a \u0644\u0648\u062d\u0638 \u0641\u064a \u0627\u062e\u062a\u0628\u0627\u0631\u0646\u0627<\/td><td>\u0623\u0643\u062b\u0631 \u0625\u064a\u062c\u0627\u0632\u064b\u0627 \u0641\u064a \u0628\u0639\u0636 \u062c\u0648\u0627\u0646\u0628 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621<\/td><td>\u0623\u0643\u062b\u0631 \u0634\u0645\u0648\u0644\u0627\u064b \u0641\u064a \u062a\u062d\u0644\u064a\u0644 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a\u060c \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u0648\u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629<\/td><\/tr><tr><td>\u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639<\/td><td colspan=\"2\">\u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0644\u0648\u0638\u064a\u0641\u064a \u0628\u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u062a\u0648\u0642\u0641\u0629<\/td><\/tr><tr><td>\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f<\/td><td>\u062a\u0645 \u0627\u0643\u062a\u0634\u0627\u0641 \u0648\u0625\u0635\u0644\u0627\u062d \u0639\u064a\u0628\u064a\u0646 \u0635\u062d\u064a\u062d\u064a\u0646 \u0645\u0646 \u0641\u0626\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629 \u0627\u0644\u0639\u0627\u0644\u064a\u0629<\/td><td>\u0623\u0628\u0644\u063a \u0639\u0646 \u0627\u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0634\u0643\u0644\u0627\u062a \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u0643\u0631\u0627\u0631\u060c \u0648\u0642\u0627\u062f \u0627\u0644\u0641\u0631\u064a\u0642 \u0645\u0646 19\/20 \u0625\u0644\u0649 18\/20<\/td><\/tr><tr><td>\u0627\u0644\u0633\u0631\u0639\u0629 \u0627\u0644\u0645\u0642\u0627\u0633\u0629<\/td><td colspan=\"2\">\u0645\u062a\u0628\u0627\u064a\u0646\u0629\u061b \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0638\u0631\u0648\u0641 \u0645\u062a\u0643\u0627\u0641\u0626\u0629 \u0628\u0645\u0627 \u064a\u0643\u0641\u064a \u0644\u062a\u062d\u062f\u064a\u062f \u0641\u0627\u0626\u0632 \u0639\u0627\u0645<\/td><\/tr><tr><td>\u0627\u0644\u0641\u0626\u0629 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0645\u0633\u062a\u0647\u0644\u0643\u064a\u0646 \u0627\u0644\u0645\u0628\u062a\u062f\u0626\u064a\u0646<\/td><td>$20 \u0634\u0647\u0631\u064a\u064b\u0651\u0627 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0627\u0644\u062e\u0637\u0629 \u0630\u0627\u062a \u0627\u0644\u0635\u0644\u0629 ChatGPT<\/td><td>Claude Pro: $20 \u0634\u0647\u0631\u064a\u064b\u0651\u0627 \u0641\u064a \u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629<\/td><\/tr><tr><td>\u0641\u0626\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0623\u0639\u0644\u0649<\/td><td>\u0641\u0626\u062a\u0627 $100 \u0648$200<\/td><td>\u0628\u062d\u062f \u0623\u0642\u0635\u0649 5x \u0639\u0646\u062f $100 \u0648\u0628\u062d\u062f \u0623\u0642\u0635\u0649 20x \u0639\u0646\u062f $200<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0635\u0641 \u0647\u0630\u0627 \u0627\u0644\u062c\u062f\u0648\u0644 \u0642\u0631\u0627\u0631 \u0634\u0631\u0627\u0621\u060c \u0648\u0644\u064a\u0633 \u0642\u0627\u0626\u0645\u0629 \u062a\u0631\u062a\u064a\u0628 \u0644\u0644\u0646\u0645\u0627\u0630\u062c. \u0648\u0642\u062f \u062a\u0624\u062f\u064a \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0641\u064a \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0623\u0648 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0623\u0648 \u062a\u0643\u0648\u064a\u0646 \u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a \u0623\u0648 \u0645\u0648\u0627\u0635\u0641\u0627\u062a \u0627\u0644\u0645\u0647\u0645\u0629 \u0625\u0644\u0649 \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0646\u062a\u064a\u062c\u0629. \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0633\u062a\u062e\u062f\u0645 \u0623\u062d\u062f \u0627\u0644\u0645\u0646\u062a\u062c\u0627\u062a \u0628\u0627\u0644\u0641\u0639\u0644\u060c \u0641\u0625\u0646 \u0623\u0641\u0636\u0644 \u0645\u0642\u0627\u0631\u0646\u0629 \u0647\u064a \u0625\u062c\u0631\u0627\u0621 \u0645\u0647\u0645\u0629 \u0645\u062d\u062f\u0648\u062f\u0629 \u0627\u0644\u0646\u0637\u0627\u0642 \u0645\u0646 \u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0646\u0641\u0633 \u0623\u0645\u0631 \u0627\u0644\u0646\u062c\u0627\u062d \u0648\u0628\u062f\u0648\u0646 \u0625\u0639\u0627\u062f\u0629 \u0645\u062d\u0627\u0648\u0644\u0627\u062a \u0644\u062a\u062d\u0633\u064a\u0646 \u0627\u0644\u062c\u0648\u062f\u0629.<\/p>\n\n\n\n<style>\n.cvc-profile{--ink:#18202b;--muted:#667085;--line:#e5e8ee;--codex:#2563eb;--claude:#d97706;margin:28px 0;padding:22px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(145deg,#fff 0%,#f8fafc 100%);color:var(--ink);font:14px\/1.45 Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif}.cvc-profile *{box-sizing:border-box}.cvc-profile h3{margin:0 0 4px;font-size:20px}.cvc-profile .sub{margin:0 0 20px;color:var(--muted)}.cvc-profile .legend{display:flex;gap:18px;margin-bottom:18px;font-weight:700}.cvc-profile .dot{display:inline-block;width:9px;height:9px;margin-right:7px;border-radius:2px}.cvc-profile .task{display:grid;grid-template-columns:190px 1fr 52px;gap:12px;align-items:center;margin:13px 0}.cvc-profile .task strong{font-size:13px}.cvc-profile .tracks{display:grid;gap:5px}.cvc-profile .track{height:9px;overflow:hidden;border-radius:5px;background:#e9edf3}.cvc-profile .fill{height:100%;border-radius:5px}.cvc-profile .codex{background:var(--codex)}.cvc-profile .claude{background:var(--claude)}.cvc-profile .score{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.cvc-profile .note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}@media(max-width:650px){.cvc-profile .task{grid-template-columns:1fr 46px}.cvc-profile .task>strong{grid-column:1\/-1}.cvc-profile{padding:18px}}\n<\/style>\n<section class=\"cvc-profile\" aria-label=\"\u0645\u0644\u0641 \u062f\u0631\u062c\u0627\u062a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629\">\n  <h3>\u0645\u0644\u0641 \u062a\u0639\u0631\u064a\u0641 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629<\/h3>\n  <p class=\"sub\">\u0623\u0648\u0644 \u0646\u062a\u064a\u062c\u0629 \u0635\u062d\u064a\u062d\u0629\u060c \u0628\u0646\u0641\u0633 \u0645\u0639\u0627\u064a\u064a\u0631 \u0627\u0644\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062b\u0627\u0628\u062a\u0629. \u062a\u0645 \u062a\u0648\u062d\u064a\u062f \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u0648\u0636\u062d\u0629 \u0641\u064a \u0627\u0644\u0623\u0634\u0631\u0637\u0629 \u0648\u0641\u0642\u064b\u0627 \u0644\u0644\u062f\u0631\u062c\u0629 \u0627\u0644\u0642\u0635\u0648\u0649 \u0644\u0643\u0644 \u0645\u0647\u0645\u0629.<\/p>\n  <div class=\"legend\"><span><i class=\"dot\" style=\"background:#2563eb\"><\/i>\u0643\u0648\u062f\u0643\u0633<\/span><span><i class=\"dot\" style=\"background:#d97706\"><\/i>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><\/div>\n  <div class=\"task\"><strong>T1 \u00b7 \u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639<\/strong><div class=\"tracks\"><div class=\"track\"><div class=\"fill codex\" style=\"width:100%\"><\/div><\/div><div class=\"track\"><div class=\"fill claude\" style=\"width:100%\"><\/div><\/div><\/div><span class=\"score\">20 \/ 20<\/span><\/div>\n  <div class=\"task\"><strong>T2 \u00b7 \u0645\u064a\u0632\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629<\/strong><div class=\"tracks\"><div class=\"track\"><div class=\"fill codex\" style=\"width:100%\"><\/div><\/div><div class=\"track\"><div class=\"fill claude\" style=\"width:100%\"><\/div><\/div><\/div><span class=\"score\">30 \/ 30<\/span><\/div>\n  <div class=\"task\"><strong>T3 \u00b7 \u0625\u0635\u0644\u0627\u062d \u0627\u0644\u062e\u0644\u0644 \u0627\u0644\u0645\u062a\u0639\u0644\u0642 \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a<\/strong><div class=\"tracks\"><div class=\"track\"><div class=\"fill codex\" style=\"width:100%\"><\/div><\/div><div class=\"track\"><div class=\"fill claude\" style=\"width:100%\"><\/div><\/div><\/div><span class=\"score\">30 \/ 30<\/span><\/div>\n  <div class=\"task\"><strong>T4 \u00b7 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0648\u0627\u0644\u0625\u0635\u0644\u0627\u062d<\/strong><div class=\"tracks\"><div class=\"track\"><div class=\"fill codex\" style=\"width:90%\"><\/div><\/div><div class=\"track\"><div class=\"fill claude\" style=\"width:95%\"><\/div><\/div><\/div><span class=\"score\">18 \/ 19<\/span><\/div>\n  <p class=\"note\">\u064a\u0648\u0636\u062d \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0628\u064a\u0627\u0646\u064a \u0645\u0635\u062f\u0631 \u0647\u0630\u0627 \u0627\u0644\u0641\u0627\u0631\u0642 \u0628\u0646\u0642\u0637\u0629 \u0648\u0627\u062d\u062f\u0629\u061b \u0648\u0647\u0648 \u0644\u0627 \u064a\u062d\u0648\u0644 \u0645\u0628\u0627\u0631\u0627\u0629 \u0635\u063a\u064a\u0631\u0629 \u0625\u0644\u0649 \u062a\u0635\u0646\u064a\u0641 \u0634\u0627\u0645\u0644.<\/p>\n<\/section>\n\n\n\n<h2 id=\"what-they-are\" class=\"wp-block-heading\">\u0645\u0627 \u0647\u0648 \u00ab\u0643\u0648\u062f\u064a\u0643\u0633\u00bb \u0648\u00ab\u0643\u0648\u062f Claude\u00bb \u0641\u064a \u0627\u0644\u0648\u0627\u0642\u0639\u061f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u064f\u0639\u062f \u0643\u0644 \u0645\u0646 \u00abCodex\u00bb \u0648\u00abClaude Code\u00bb \u0645\u0646\u062a\u062c\u064a\u0646 \u0645\u0646 \u0645\u0646\u062a\u062c\u0627\u062a \u0627\u0644\u0648\u0643\u064a\u0644\u060c \u0648\u0644\u064a\u0633\u0627 \u0645\u062c\u0631\u062f \u0623\u0633\u0645\u0627\u0621 \u0637\u0631\u0627\u0632\u0627\u062a. \u0627\u0644\u0623\u0633\u0627\u0633\u064a <a href=\"https:\/\/www.glbgpt.com\/hub\/best-ai-model-for-coding\/\">\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0630\u0643\u0627\u0621 \u0627\u0644\u0627\u0635\u0637\u0646\u0627\u0639\u064a \u0644\u0644\u0628\u0631\u0645\u062c\u0629<\/a> \u0647\u0630\u0627 \u0623\u0645\u0631 \u0645\u0647\u0645\u060c \u0644\u0643\u0646 \u00ab\u0627\u0644\u0647\u064a\u0643\u0644\u00bb \u0627\u0644\u0645\u062d\u064a\u0637 \u0628\u0647 \u064a\u062d\u062f\u062f \u0623\u064a\u0636\u064b\u0627 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u064a\u0645\u0643\u0646 \u0644\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0627\u0637\u0644\u0627\u0639 \u0639\u0644\u064a\u0647\u0627\u060c \u0648\u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u062a\u064a \u064a\u062c\u0648\u0632 \u0644\u0647 \u062a\u0646\u0641\u064a\u0630\u0647\u0627\u060c \u0648\u0643\u064a\u0641\u064a\u0629 \u0639\u0645\u0644 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629\u060c \u0648\u0643\u064a\u0641\u064a\u0629 \u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0638 \u0628\u0627\u0644\u0633\u064a\u0627\u0642\u060c \u0648\u0627\u0644\u0623\u062f\u0644\u0629 \u0627\u0644\u062a\u064a \u062a\u0628\u0642\u0649 \u0628\u0639\u062f \u0627\u0646\u062a\u0647\u0627\u0621 \u0627\u0644\u0645\u0647\u0645\u0629. \u0625\u0646 \u0627\u0644\u0627\u0643\u062a\u0641\u0627\u0621 \u0628\u0645\u0642\u0627\u0631\u0646\u0629 \u0633\u0645\u0639\u0629 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0641\u0642\u0637 \u064a\u062a\u062c\u0627\u0647\u0644 \u062c\u0632\u0621\u064b\u0627 \u0643\u0628\u064a\u0631\u064b\u0627 \u0645\u0646 \u0627\u0644\u062a\u062c\u0631\u0628\u0629 \u0627\u0644\u062a\u064a \u064a\u0634\u062a\u0631\u064a\u0647\u0627 \u0627\u0644\u0645\u0637\u0648\u0631.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u063a\u0637\u064a \u00abCodex\u00bb \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0639\u0628\u0631 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631\u060c \u0648\u0628\u064a\u0626\u0629 \u0627\u0644\u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0645\u062a\u0643\u0627\u0645\u0644\u0629 (IDE)\u060c \u0648\u0623\u062c\u0647\u0632\u0629 \u0633\u0637\u062d \u0627\u0644\u0645\u0643\u062a\u0628\u060c \u0648\u0627\u0644\u0633\u062d\u0627\u0628\u0629. \u0648\u0647\u0630\u0627 \u0627\u0644\u062a\u0646\u0648\u0639 \u064a\u062c\u0639\u0644\u0647 \u0645\u0646\u0627\u0633\u0628\u064b\u0627 \u0644\u0643\u0644 \u0645\u0646 \u0627\u0644\u062a\u0639\u0627\u0648\u0646 \u0627\u0644\u0645\u062d\u0644\u064a \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0648\u0627\u0644\u062a\u0641\u0648\u064a\u0636 \u0627\u0644\u0623\u0643\u062b\u0631 \u062a\u062d\u062f\u064a\u062f\u064b\u0627. \u0623\u0645\u0627 \u00abClaude Code\u00bb \u0641\u064a\u062a\u0645\u062d\u0648\u0631 \u062d\u0648\u0644 \u0633\u064a\u0631 \u0639\u0645\u0644 \u0645\u062d\u0648\u0631\u064a \u0642\u0627\u0626\u0645 \u0639\u0644\u0649 \u0627\u0644\u062d\u0648\u0627\u0631 \u0645\u0639 \u062a\u0643\u0627\u0645\u0644\u0627\u062a \u0645\u062f\u0639\u0648\u0645\u0629 \u0648\u0625\u0645\u0643\u0627\u0646\u064a\u0627\u062a \u062a\u062e\u0635\u064a\u0635 \u0648\u0627\u0633\u0639\u0629\u061b \u0648\u0647\u0630\u0627 <a href=\"https:\/\/www.glbgpt.com\/hub\/how-to-use-claude-ai-for-coding\/\">\u062f\u0644\u064a\u0644 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Claude \u0641\u064a \u0627\u0644\u0628\u0631\u0645\u062c\u0629<\/a> \u064a\u0642\u062f\u0645 \u0647\u0630\u0627 \u0645\u0642\u0627\u0644 \u0645\u0642\u062f\u0645\u0629 \u0623\u0648\u0633\u0639 \u0646\u0637\u0627\u0642\u0627\u064b \u0639\u0646 \u0645\u0633\u0627\u0631 \u0627\u0644\u0639\u0645\u0644 \u0647\u0630\u0627. \u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0628\u0639\u0636 \u0627\u0644\u0645\u0637\u0648\u0631\u064a\u0646\u060c \u0641\u0625\u0646 \u0645\u0634\u0627\u0647\u062f\u0629 \u0623\u062d\u062f \u0627\u0644\u0648\u0643\u0644\u0627\u0621 \u0648\u0647\u0648 \u064a\u0639\u0645\u0644 \u0641\u064a \u0645\u062d\u0637\u0629 \u0627\u0644\u0639\u0645\u0644 \u064a\u0628\u0639\u062b \u0639\u0644\u0649 \u0627\u0644\u0637\u0645\u0623\u0646\u064a\u0646\u0629. \u0623\u0645\u0627 \u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0622\u062e\u0631\u064a\u0646\u060c \u0641\u0625\u0646 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0645\u0647\u0645\u0629 \u0647\u064a \u0627\u0644\u0641\u0631\u0648\u0642 \u0627\u0644\u0646\u0647\u0627\u0626\u064a\u0629 \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u0633\u062c\u0644 \u0627\u0644\u062a\u062f\u0642\u064a\u0642\u060c \u0648\u0644\u064a\u0633 \u0627\u0644\u062d\u0648\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u0645\u0631.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0643\u0645\u0627 \u064a\u0641\u0633\u0631 \u0647\u0630\u0627 \u0627\u0644\u062a\u0645\u064a\u064a\u0632 \u0633\u0628\u0628 \u0627\u062e\u062a\u0644\u0627\u0641 \u0633\u0644\u0648\u0643 \u0627\u062e\u062a\u0628\u0627\u0631\u064a\u0646 \u064a\u0633\u062a\u062e\u062f\u0645\u0627\u0646 \u0646\u0645\u0627\u0630\u062c \u0642\u0648\u064a\u0629 \u0646\u0638\u0631\u064a\u064b\u0651\u0627. \u0641\u0627\u0644\u0645\u0636\u064a\u0641 \u0647\u0648 \u0627\u0644\u0630\u064a \u064a\u0642\u0631\u0631 \u0643\u064a\u0641\u064a\u0629 \u0639\u0631\u0636 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a\u060c \u0648\u0643\u064a\u0641\u064a\u0629 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0627\u0644\u0623\u062f\u0648\u0627\u062a\u060c \u0648\u0645\u062a\u0649 \u064a\u062a\u0639\u064a\u0646 \u0639\u0644\u0649 \u0627\u0644\u0625\u0646\u0633\u0627\u0646 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0625\u062c\u0631\u0627\u0621 \u0645\u0627. \u0648\u0642\u062f \u062a\u0624\u062f\u064a \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0627\u062a \u0627\u0644\u0645\u062c\u062a\u0645\u0639\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u062a\u062c\u0627\u0647\u0644 \u00ab\u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u062d\u0643\u0645\u00bb \u0625\u0644\u0649 \u0627\u0644\u062e\u0644\u0637 \u0628\u064a\u0646 \u0627\u0644\u0633\u0644\u0648\u0643 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0645\u0646\u062a\u062c \u0648\u0627\u0644\u062d\u0642\u064a\u0642\u0629 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0646\u0645\u0648\u0630\u062c.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0627\u0644\u0646\u0645\u0648\u0630\u062c<\/strong> \u062a\u0648\u0641\u0631 \u0627\u0644\u0642\u062f\u0631\u0629 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0648\u0627\u0644\u062a\u0648\u0644\u064a\u062f.<\/li>\n\n\n\n<li><strong>\u0645\u062c\u0645\u0648\u0639\u0629 \u0623\u0633\u0644\u0627\u0643 \u0627\u0644\u062a\u0648\u0635\u064a\u0644 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u0648\u0643\u064a\u0644<\/strong> \u064a\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0648\u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0648\u0627\u0644\u0633\u064a\u0627\u0642 \u0648\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0627\u062a \u0648\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u0639\u0627\u062f\u0629.<\/li>\n\n\n\n<li><strong>\u0639\u0642\u062f \u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645<\/strong> \u064a\u062d\u062f\u062f \u0627\u0644\u0646\u0637\u0627\u0642\u060c \u0648\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0646\u062c\u0627\u062d\u060c \u0648\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0630\u064a \u064a\u0646\u0628\u063a\u064a \u0623\u0646 \u064a\u062a\u0648\u0642\u0641 \u0641\u064a\u0647 \u0627\u0644\u0648\u0643\u064a\u0644.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/x-harness-vs-model-caveat-annotated.webp\" alt=\"\u0645\u0646\u0634\u0648\u0631 \u00abX\u00bb \u0645\u0634\u0631\u0648\u062d \u064a\u0634\u064a\u0631 \u0625\u0644\u0649 \u0623\u0646 \u00ab\u062d\u0632\u0627\u0645 \u0627\u0644\u0648\u0643\u064a\u0644\u00bb \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0624\u062b\u0631 \u0639\u0644\u0649 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u062a\u0631\u0645\u064a\u0632 \u0648\u0627\u0644\u0648\u0643\u064a\u0644\" class=\"wp-image-17390\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/x-harness-vs-model-caveat-annotated.webp 1280w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/x-harness-vs-model-caveat-annotated-300x188.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/x-harness-vs-model-caveat-annotated-1024x640.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/x-harness-vs-model-caveat-annotated-768x480.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/x-harness-vs-model-caveat-annotated-18x12.webp 18w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><figcaption class=\"wp-element-caption\">\u064a\u064f\u0628\u0631\u0632 \u062a\u0639\u0644\u064a\u0642 \u0623\u062d\u062f \u0627\u0644\u0623\u0634\u062e\u0627\u0635 \u00abX\u00bb \u062a\u062d\u0630\u064a\u0631\u064b\u0627 \u0645\u0647\u0645\u064b\u0627 \u0628\u0634\u0623\u0646 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629: \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0624\u062b\u0631 \u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0648\u0643\u064a\u0644 \u0639\u0644\u0649 \u0627\u0644\u0646\u062a\u0627\u0626\u062c. \u0648\u0647\u0630\u0627 \u0633\u064a\u0627\u0642 \u0645\u0641\u064a\u062f\u060c \u0648\u0644\u064a\u0633 \u062f\u0644\u064a\u0644\u0627\u064b \u0645\u0624\u0643\u062f\u064b\u0627 \u0639\u0644\u0649 \u0623\u0646 \u0623\u064a\u064b\u0627 \u0645\u0646 \u0627\u0644\u0645\u0646\u062a\u062c\u064a\u0646 \u0623\u0641\u0636\u0644 \u0645\u0646 \u0627\u0644\u0622\u062e\u0631.<\/figcaption><\/figure>\n\n\n\n<h2 id=\"workflow-control\" class=\"wp-block-heading\">\u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0648\u0627\u0644\u062a\u062d\u0643\u0645: \u0627\u0644\u062a\u0641\u0648\u064a\u0636 \u0623\u0645 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u0645\u0633\u062a\u0645\u0631\u061f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u063a\u0627\u0644\u0628\u064b\u0627 \u0645\u0627 \u064a\u0643\u0648\u0646 \u0627\u0644\u0633\u0624\u0627\u0644 \u0627\u0644\u0623\u0643\u062b\u0631 \u0641\u0627\u0626\u062f\u0629 \u0628\u0634\u0623\u0646 \u0645\u0642\u0627\u0631\u0646\u0629 Codex \u0648 Claude \u0644\u064a\u0633 \u201c\u0623\u064a\u0647\u0645\u0627 \u064a\u0643\u062a\u0628 \u0643\u0648\u062f\u064b\u0627 \u0623\u0641\u0636\u0644\u061f\u201d \u0628\u0644 \u201c\u0643\u064a\u0641 \u0623\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u0639\u0645\u0644 \u0628\u0647\u061f\u201d \u064a\u0645\u0643\u0646 \u062a\u0641\u0648\u064a\u0636 \u0645\u0647\u0645\u0629 \u0648\u0627\u0636\u062d\u0629 \u0648\u0645\u062d\u062f\u062f\u0629 \u0628\u0647\u062f\u0641 \u062f\u0642\u064a\u0642 \u0648\u0646\u0637\u0627\u0642 \u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0648\u0623\u0645\u0631 \u0644\u0644\u062a\u062d\u0642\u0642. \u0623\u0645\u0627 \u0639\u0645\u0644\u064a\u0629 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0647\u064a\u0643\u0644\u0629 \u0627\u0644\u063a\u0627\u0645\u0636\u0629 \u0641\u062a\u0633\u062a\u0641\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0646\u0627\u0642\u0634\u0629 \u0648\u0627\u0644\u062a\u062f\u0642\u064a\u0642 \u0627\u0644\u0645\u0631\u062d\u0644\u064a \u0648\u0641\u0631\u0635\u0629 \u0625\u0639\u0627\u062f\u0629 \u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u0645\u0646\u0641\u0630 \u0642\u0628\u0644 \u0623\u0646 \u064a\u062d\u062f\u062b \u062a\u063a\u064a\u064a\u0631\u064b\u0627 \u0643\u0628\u064a\u0631\u064b\u0627.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u064f\u0639\u062f \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u0627\u0644\u0645\u0633\u062a\u0645\u0631 \u0623\u0645\u0631\u0627\u064b \u0645\u0641\u064a\u062f\u0627\u064b \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u0627\u0644\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0642\u064a\u062f \u0627\u0644\u062a\u0637\u0648\u0631 \u0623\u0648 \u0639\u0646\u062f\u0645\u0627 \u0644\u0627 \u062a\u0632\u0627\u0644 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0627\u0644\u0628\u0646\u064a\u0629 \u0642\u064a\u062f \u0627\u0644\u0645\u0646\u0627\u0642\u0634\u0629. \u0648\u064a\u0635\u0628\u062d \u0630\u0644\u0643 \u0639\u0628\u0626\u0627\u064b \u0639\u0646\u062f\u0645\u0627 \u064a\u0637\u0644\u0628 \u0627\u0644\u0648\u0643\u064a\u0644 \u0645\u0631\u0627\u0631\u0627\u064b \u0648\u062a\u0643\u0631\u0627\u0631\u0627\u064b \u0627\u062a\u062e\u0627\u0630 \u0642\u0631\u0627\u0631\u0627\u062a \u0643\u0627\u0646 \u0645\u0646 \u0627\u0644\u0645\u0645\u0643\u0646 \u062d\u0644\u0647\u0627 \u0628\u0627\u0644\u0627\u0633\u062a\u0646\u0627\u062f \u0625\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639. \u0648\u064a\u064f\u0639\u062f \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0630\u0627\u062a\u064a \u0623\u0645\u0631\u0627\u064b \u0645\u0641\u064a\u062f\u0627\u064b \u0639\u0646\u062f\u0645\u0627 \u064a\u0643\u0648\u0646 \u0639\u0642\u062f \u0627\u0644\u0645\u0647\u0645\u0629 \u0645\u0633\u062a\u0642\u0631\u0627\u064b. \u0648\u064a\u0635\u0628\u062d \u0630\u0644\u0643 \u0645\u062d\u0641\u0648\u0641\u0627\u064b \u0628\u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0639\u0646\u062f\u0645\u0627 \u064a\u0636\u0639 \u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0641\u062a\u0631\u0627\u0636\u0627\u062a \u063a\u064a\u0631 \u0645\u062f\u0642\u0642\u0629 \u0623\u0648 \u064a\u0648\u0633\u0639 \u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0647\u0645\u0629 \u062f\u0648\u0646 \u0648\u062c\u0648\u062f \u0645\u0633\u0627\u0631 \u0648\u0627\u0636\u062d \u0644\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u062d\u0627\u0644\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0648\u0635\u0641 \u062a\u0642\u0631\u064a\u0631 \u0645\u0641\u0635\u0644 \u0646\u064f\u0634\u0631 \u0639\u0644\u0649 \u0645\u0648\u0642\u0639 Reddit \u0628\u062a\u0627\u0631\u064a\u062e 13 \u0623\u0628\u0631\u064a\u0644 2026 \u0642\u0636\u0627\u0621 \u0645\u0627 \u064a\u0642\u0627\u0631\u0628 100 \u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Claude Code \u064820 \u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Codex\u060c \u0648\u0630\u0644\u0643 \u0641\u064a \u0645\u0634\u0631\u0648\u0639 \u064a\u0636\u0645 \u062d\u0648\u0627\u0644\u064a 80,000 \u0633\u0637\u0631 \u0645\u0646 \u0644\u063a\u062a\u064a Python \u0648TypeScript \u0645\u0639 \u0645\u0627 \u064a\u0642\u0627\u0631\u0628 2,800 \u0627\u062e\u062a\u0628\u0627\u0631. \u0648\u0635\u0641 \u0627\u0644\u0645\u0624\u0644\u0641 \u0623\u0633\u0644\u0648\u0628 Claude \u0628\u0623\u0646\u0647 \u0623\u0633\u0631\u0639 \u0648\u0623\u0643\u062b\u0631 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0648\u0644\u0643\u0646\u0647 \u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u062a\u0627\u0628\u0639\u0629\u060c \u0648\u0648\u0635\u0641 \u0623\u0633\u0644\u0648\u0628 Codex \u0628\u0623\u0646\u0647 \u0623\u0628\u0637\u0623 \u0648\u0623\u0643\u062b\u0631 \u062a\u0631\u0648\u064a\u0627\u064b. \u0648\u064a\u064f\u0639\u062f \u0647\u0630\u0627 \u0627\u0644\u062a\u0642\u0631\u064a\u0631 \u0645\u0641\u064a\u062f\u0627\u064b \u0628\u0634\u0643\u0644 \u063a\u064a\u0631 \u0639\u0627\u062f\u064a \u0644\u0623\u0646\u0647 \u064a\u062a\u0636\u0645\u0646 \u0633\u064a\u0627\u0642 \u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u0648\u0627\u0644\u062a\u062c\u0631\u0628\u0629\u060c \u0644\u0643\u0646\u0647 \u0644\u0627 \u064a\u0632\u0627\u0644 \u064a\u0645\u062b\u0644 \u0633\u064a\u0631 \u0639\u0645\u0644 \u0645\u0637\u0648\u0631 \u0648\u0627\u062d\u062f \u0641\u0642\u0637.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/reddit-claude-code-vs-codex-experience-annotated.webp\" alt=\"\u062a\u062c\u0631\u0628\u0629 \u0645\u064f\u0634\u0631\u0648\u062d\u0629 \u0639\u0644\u0649 \u0645\u0648\u0642\u0639 Reddit \u062a\u0642\u0627\u0631\u0646 \u0628\u064a\u0646 \u00abClaude Code\u00bb \u0648\u00abCodex\u00bb \u0641\u064a \u0645\u0634\u0631\u0648\u0639 \u064a\u062a\u0623\u0644\u0641 \u0645\u0646 80,000 \u0633\u0637\u0631\" class=\"wp-image-17391\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/reddit-claude-code-vs-codex-experience-annotated.webp 1280w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/reddit-claude-code-vs-codex-experience-annotated-300x188.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/reddit-claude-code-vs-codex-experience-annotated-1024x640.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/reddit-claude-code-vs-codex-experience-annotated-768x480.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/reddit-claude-code-vs-codex-experience-annotated-18x12.webp 18w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><figcaption class=\"wp-element-caption\">\u062a\u062c\u0631\u0628\u0629 \u0645\u0637\u0648\u0631 \u0648\u0627\u062d\u062f \u0645\u0639 \u00abClaude Code\u00bb \u0648\u00abCodex\u00bb \u0641\u064a \u0645\u0634\u0631\u0648\u0639 \u0645\u062d\u062f\u062f. \u0648\u064a\u0646\u0628\u063a\u064a \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u0645\u0648\u0636\u062d\u0629 \u0639\u0644\u0649 \u0623\u0646\u0647\u0627 \u0641\u0631\u0636\u064a\u0627\u062a \u064a\u062c\u0628 \u0627\u062e\u062a\u0628\u0627\u0631\u0647\u0627\u060c \u0648\u0644\u064a\u0633\u062a \u0628\u064a\u0627\u0646\u0627\u062a \u0623\u062f\u0627\u0621 \u0634\u0627\u0645\u0644\u0629 \u0644\u0644\u0645\u0646\u062a\u062c \u0628\u0623\u0643\u0645\u0644\u0647.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u0645 \u062a\u064f\u0638\u0647\u0631 \u0646\u062a\u0627\u0626\u062c \u0642\u064a\u0627\u0633\u0627\u062a\u0646\u0627 \u0641\u0627\u0626\u0632\u064b\u0627 \u0648\u0627\u0636\u062d\u064b\u0627. \u0641\u0642\u062f \u0623\u0646\u062c\u0632 \u00abClaude\u00bb \u0627\u0644\u0645\u0647\u0645\u062a\u064a\u0646 \u0627\u0644\u0623\u0648\u0644\u064a\u064a\u0646 \u0628\u0633\u0631\u0639\u0629 \u0623\u0643\u0628\u0631\u060c \u0628\u064a\u0646\u0645\u0627 \u0623\u0646\u062c\u0632 \u00abCodex\u00bb \u0627\u0644\u0645\u0647\u0645\u062a\u064a\u0646 \u0627\u0644\u0623\u062e\u064a\u0631\u062a\u064a\u0646 \u0628\u0633\u0631\u0639\u0629 \u0623\u0643\u0628\u0631. \u0643\u0645\u0627 \u0627\u0633\u062a\u062e\u062f\u0645 \u00abClaude\u00bb \u0648\u0643\u064a\u0644\u064b\u0627 \u0641\u0631\u0639\u064a\u064b\u0651\u0627 \u0643\u062d\u0644 \u0628\u062f\u064a\u0644 \u0628\u0639\u062f \u0623\u0646 \u0623\u0635\u0628\u062d \u0645\u0633\u0627\u0631 \u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0629 \u0639\u0628\u0631 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI) \u063a\u064a\u0631 \u0645\u062a\u0627\u062d\u060c \u0644\u0630\u0627 \u0644\u0645 \u062a\u0643\u0646 \u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0645\u062a\u0637\u0627\u0628\u0642\u0629 \u0645\u0639 \u062a\u0644\u0643 \u0627\u0644\u062a\u064a \u0623\u062c\u0631\u064a\u062a \u0641\u064a \u0627\u0644\u0645\u062e\u062a\u0628\u0631. \u0648\u0627\u0644\u0627\u0633\u062a\u0646\u062a\u0627\u062c \u0627\u0644\u0645\u0646\u0637\u0642\u064a \u0647\u0648 \u0623\u0646 \u0627\u0644\u0633\u0631\u0639\u0629 \u062a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0627\u0644\u0645\u0647\u0645\u0629\u060c \u0648\u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0645\u062e\u062a\u0627\u0631\u060c \u0648\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u062c\u0647\u062f\u060c \u0648\u0627\u0644\u0633\u064a\u0627\u0642\u060c \u0648\u0627\u0644\u0645\u0636\u064a\u0641 \u2014 \u0648\u0644\u064a\u0633 \u0623\u0646 \u0623\u064a\u064b\u0627 \u0645\u0646 \u0627\u0644\u0645\u0646\u062a\u062c\u064a\u0646 \u0623\u0633\u0631\u0639 \u062f\u0627\u0626\u0645\u064b\u0627.<\/p>\n\n\n\n<h2 id=\"repository-understanding\" class=\"wp-block-heading\">\u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0633\u064a\u0627\u0642<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0625\u0646 \u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0644\u0627 \u064a\u0642\u062a\u0635\u0631 \u0639\u0644\u0649 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0645\u062c\u0644\u062f\u0627\u062a \u0641\u062d\u0633\u0628. \u0641\u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0641\u0639\u0627\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062a\u062a\u0628\u0639 \u0643\u064a\u0641\u064a\u0629 \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u0645\u0644\u0641\u0627\u062a\u060c \u0648\u064a\u062d\u062f\u062f \u0627\u0644\u0639\u0642\u0648\u062f \u0627\u0644\u062a\u064a \u062a\u0642\u064a\u0651\u062f \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u060c \u0648\u064a\u062d\u062f\u062f \u0645\u0648\u0642\u0639 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u0648\u064a\u0645\u064a\u0632 \u0628\u064a\u0646 \u0627\u0644\u0623\u0639\u0631\u0627\u0636 \u0648\u0645\u0635\u062f\u0631\u0647\u0627 \u0627\u0644\u0645\u062d\u062a\u0645\u0644\u060c \u0648\u064a\u0634\u0631\u062d \u0645\u062e\u0627\u0637\u0631 \u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0637\u0628\u0642\u0629 \u0627\u0644\u062e\u0627\u0637\u0626\u0629. \u0641\u062e\u0631\u064a\u0637\u0629 \u0634\u0627\u0645\u0644\u0629 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0643\u0634\u0641 \u0639\u0646 \u0627\u0644\u062a\u0646\u0627\u0642\u0636\u0627\u062a \u0627\u0644\u062e\u0641\u064a\u0629\u061b \u0641\u064a \u062d\u064a\u0646 \u0623\u0646 \u0627\u0644\u062e\u0631\u064a\u0637\u0629 \u0627\u0644\u0645\u0648\u062c\u0632\u0629 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0633\u0627\u0639\u062f \u0627\u0644\u0645\u0637\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0635\u0644 \u0625\u0644\u0649 \u0642\u0631\u0627\u0631 \u062a\u0646\u0641\u064a\u0630 \u0622\u0645\u0646 \u0628\u0634\u0643\u0644 \u0623\u0633\u0631\u0639.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0641\u064a \u0645\u0647\u0645\u0629 T1 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0646\u0627 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u060c \u062d\u0635\u0644 \u0643\u0644\u0627 \u0627\u0644\u0648\u0643\u064a\u0644\u064a\u0646 \u0639\u0644\u0649 20\/20 \u0648\u0627\u0633\u062a\u0646\u062f\u062a \u0625\u062c\u0627\u0628\u0627\u062a\u0647\u0645\u0627 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639. \u0643\u0627\u0646 \u0623\u0633\u0644\u0648\u0628 \u00abClaude Code\u00bb \u0623\u0643\u062b\u0631 \u0634\u0645\u0648\u0644\u064a\u0629 \u0648\u0643\u0634\u0641 \u0639\u0646 \u062a\u0646\u0627\u0642\u0636\u0627\u062a \u0625\u0636\u0627\u0641\u064a\u0629 \u0641\u064a \u0627\u0644\u0639\u0642\u0648\u062f. \u0623\u0645\u0627 \u0623\u0633\u0644\u0648\u0628 \u00abCodex\u00bb \u0641\u0643\u0627\u0646 \u0623\u0643\u062b\u0631 \u0625\u064a\u062c\u0627\u0632\u064b\u0627 \u0645\u0639 \u0627\u0633\u062a\u0645\u0631\u0627\u0631\u0647 \u0641\u064a \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0630\u0627\u062a \u0627\u0644\u0635\u0644\u0629 \u0648\u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0648\u062e\u0637\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630. \u0648\u0644\u0627 \u064a\u064f\u0639\u062a\u0628\u0631 \u0623\u064a \u0645\u0646 \u0627\u0644\u0623\u0633\u0644\u0648\u0628\u064a\u0646 \u0645\u062a\u0641\u0648\u0642\u064b\u0627 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0651\u0627. \u062a\u0633\u0627\u0639\u062f \u0627\u0644\u0634\u0645\u0648\u0644\u064a\u0629 \u0641\u064a \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0631\u062d\u064a\u0644 \u0648\u0627\u0644\u062a\u062f\u0642\u064a\u0642 \u063a\u064a\u0631 \u0627\u0644\u0645\u0623\u0644\u0648\u0641\u0629\u061b \u0628\u064a\u0646\u0645\u0627 \u062a\u0633\u0627\u0639\u062f \u0627\u0644\u0625\u064a\u062c\u0627\u0632\u064a\u0629 \u0639\u0646\u062f\u0645\u0627 \u064a\u0643\u0648\u0646 \u0627\u0644\u0645\u0637\u0648\u0631 \u0639\u0644\u0649 \u062f\u0631\u0627\u064a\u0629 \u0628\u0627\u0644\u0628\u0646\u064a\u0629 \u0628\u0627\u0644\u0641\u0639\u0644 \u0648\u064a\u0631\u063a\u0628 \u0641\u064a \u062e\u0637\u0629 \u062a\u063a\u064a\u064a\u0631 \u0645\u0631\u0643\u0632\u0629.<\/p>\n\n\n\n<style>\n.evidence-t1-repository-understanding{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}\n.evidence-t1-repository-understanding *{box-sizing:border-box}.evidence-t1-repository-understanding .d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 26px 20px;border-bottom:1px solid var(--line)}\n.evidence-t1-repository-understanding .d-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.evidence-t1-repository-understanding .d-title{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.evidence-t1-repository-understanding .d-sub{margin:7px 0 0;color:var(--body);font-size:13px}.evidence-t1-repository-understanding .d-pill{flex:0 0 auto;padding:6px 10px;border:1px solid #ccd6ff;border-radius:999px;color:#2448ca;background:#f0f3ff;font-size:11px;font-weight:800}.evidence-t1-repository-understanding .d-grid{display:grid;grid-template-columns:1fr 1fr}.evidence-t1-repository-understanding .d-side{min-width:0;padding:24px 26px}.evidence-t1-repository-understanding .d-side+.d-side{border-left:1px solid var(--line)}.evidence-t1-repository-understanding .d-product{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-weight:800}.evidence-t1-repository-understanding .d-score{font-size:34px;line-height:1;letter-spacing:-.05em}.evidence-t1-repository-understanding .d-score small{color:var(--muted);font-size:12px;letter-spacing:0}.evidence-t1-repository-understanding .d-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.evidence-t1-repository-understanding .d-metric{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.evidence-t1-repository-understanding .d-metric span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.evidence-t1-repository-understanding .d-metric strong{display:block;margin-top:3px;font-size:13px}.evidence-t1-repository-understanding .d-preview{position:relative;height:192px;overflow:hidden;border:1px solid #29313f;border-radius:6px;background:#11151d;color:#edf0f5}.evidence-t1-repository-understanding .d-preview-label{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.1);color:#aeb7c7;font:750 9px\/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}.evidence-t1-repository-understanding .d-preview pre,.evidence-t1-repository-understanding .d-full pre{margin:0;white-space:pre-wrap;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.evidence-t1-repository-understanding .d-preview pre{padding:13px}.evidence-t1-repository-understanding .d-preview:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:55px;background:linear-gradient(transparent,#11151d)}.evidence-t1-repository-understanding .d-take{margin:14px 0 0;color:var(--body);font-size:12px}.evidence-t1-repository-understanding .d-fulls{padding:0 26px 22px}.evidence-t1-repository-understanding .d-full{margin-top:10px;border:1px solid var(--line);border-radius:6px}.evidence-t1-repository-understanding .d-full summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:800;list-style:none}.evidence-t1-repository-understanding .d-full summary::-webkit-details-marker{display:none}.evidence-t1-repository-understanding .d-full summary:after{content:\"+\";float:right;color:var(--blue);font-size:17px}.evidence-t1-repository-understanding .d-full[open] summary:after{content:\"\u2212\"}.evidence-t1-repository-understanding .d-full-pane{padding:0 14px 14px}.evidence-t1-repository-understanding .d-full-note{margin:0 0 9px;color:var(--muted);font-size:10px}.evidence-t1-repository-understanding .d-full pre{max-height:620px;overflow:auto;padding:15px;border-radius:5px;background:#f5f6f8;color:#222936;border:1px solid #e0e3e8}.evidence-t1-repository-understanding .d-limit{margin:0;padding:12px 26px;border-top:1px solid var(--line);color:#5a6270;background:#fafbfc;font-size:11px}\n@media(max-width:760px){.evidence-t1-repository-understanding .d-head{display:block}.evidence-t1-repository-understanding .d-pill{display:inline-block;margin-top:12px}.evidence-t1-repository-understanding .d-grid{grid-template-columns:1fr}.evidence-t1-repository-understanding .d-side+.d-side{border-left:0;border-top:1px solid var(--line)}}@media(max-width:480px){.evidence-t1-repository-understanding .d-head,.evidence-t1-repository-understanding .d-side{padding:20px}.evidence-t1-repository-understanding .d-fulls{padding:0 20px 20px}.evidence-t1-repository-understanding .d-metrics{grid-template-columns:1fr}}\n<\/style><article class=\"evidence-t1-repository-understanding\"><header class=\"d-head\"><div><p class=\"d-kicker\">T1 \u00b7 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629<\/p><h3 class=\"d-title\">\u0627\u0641\u0647\u0645 \u0645\u062d\u062a\u0648\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u063a\u064a\u0631 \u0627\u0644\u0645\u0623\u0644\u0648\u0641 \u0642\u0628\u0644 \u0625\u062c\u0631\u0627\u0621 \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0639\u0644\u064a\u0647<\/h3><p class=\"d-sub\">\u062a\u062d\u062f\u064a\u062f \u0628\u0646\u064a\u0629 \u0627\u0644\u062e\u0631\u064a\u0637\u0629\u060c \u0648\u062a\u062a\u0628\u0639 \u062a\u062f\u0641\u0642 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\u060c \u0648\u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0627\u0644\u0645\u064a\u0632\u0627\u062a \u0630\u0627\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629\u060c \u0648\u0639\u062f\u0645 \u0625\u062c\u0631\u0627\u0621 \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0639\u0644\u0649 \u0627\u0644\u0645\u0644\u0641\u0627\u062a.<\/p><\/div><span class=\"d-pill\">\u0631\u0628\u0637\u0629 \u0639\u0646\u0642<\/span><\/header><div class=\"d-grid\"><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0643\u0648\u062f\u0643\u0633\"><div class=\"d-product\"><span>\u0643\u0648\u062f\u0643\u0633<\/span><span class=\"d-score\">20<small>\/20<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>108 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>2 \u062e\u0637 \u0627\u0644\u0623\u0633\u0627\u0633<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>\u0627\u0644\u0647\u0646\u062f\u0633\u0629: \u0627\u0644\u0646\u0645\u0648\u0630\u062c\u060c \u0648\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u060c \u0648\u0627\u0644\u062e\u062f\u0645\u0629\u060c \u0648\u0623\u062f\u0627\u0629 \u0632\u0645\u0646\u064a\u0629 \u063a\u064a\u0631 \u0645\u0648\u0635\u0644\u0629.\n\n\u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629: \u062f\u0644\u0627\u0644\u0627\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u063a\u064a\u0631 \u0627\u0644\u0645\u062d\u062f\u062f\u0629\u060c \u0648\u0627\u0644\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0627\u0644\u062a\u0631\u062a\u064a\u0628\u060c \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629\u060c \u0648\u0639\u062f\u0645 \u062a\u0648\u0627\u0641\u0642 \u0627\u0644\u0646\u0637\u0627\u0642.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u0645\u0648\u062c\u0632\u060c \u0648\u0645\u0633\u062a\u0646\u062f \u0625\u0644\u0649 \u0627\u0644\u0645\u0644\u0641\u0627\u062a\u060c \u0648\u0643\u0627\u0641\u064d \u0644\u0627\u062a\u062e\u0627\u0630 \u0627\u0644\u0642\u0631\u0627\u0631 \u0627\u0644\u0645\u0639\u0644\u0642.<\/p><\/section><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0631\u0645\u0632 Claude\"><div class=\"d-product\"><span>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><span class=\"d-score\">20<small>\/20<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>61 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>2 \u062e\u0637 \u0627\u0644\u0623\u0633\u0627\u0633<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>\u062b\u0644\u0627\u062b \u0637\u0628\u0642\u0627\u062a \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0648\u062d\u062f\u0629 \u0645\u0633\u062a\u0642\u0644\u0629 \u0648\u0627\u062d\u062f\u0629. \u0644\u0627 \u062a\u0648\u062c\u062f \u062f\u0648\u0631\u0627\u062a\u061b \u0648\u062d\u0642\u0646 \u0627\u0644\u062a\u0628\u0639\u064a\u0629 \u0641\u064a \u0623\u062f\u0646\u0649 \u062d\u062f \u0645\u0645\u0643\u0646.\n\n\u0643\u0645\u0627 \u0643\u0634\u0641\u062a \u0639\u0646 \u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0645\u0639\u0631\u0651\u0641\u0627\u062a\u060c \u0648\u0639\u0642\u0648\u062f \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u063a\u064a\u0631 \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644\u0629\u060c \u0648\u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0645\u062d\u062f\u0648\u062f\u0629.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u0623\u0643\u062b\u0631 \u0634\u0645\u0648\u0644\u0627\u064b \u0645\u0639 \u0627\u0644\u0627\u0633\u062a\u0645\u0631\u0627\u0631 \u0641\u064a \u062a\u0644\u0628\u064a\u0629 \u0646\u0641\u0633 \u0634\u0631\u0648\u0637 \"\u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\".<\/p><\/section><\/div><div class=\"d-fulls\"><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0640 Codex<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0635\u062d\u064a\u062d \u0648\u0627\u0644\u0645\u064f\u0639\u0642\u064e\u0651\u0645 \u0628\u0627\u0644\u0643\u0627\u0645\u0644<\/p><pre>## \u0628\u0646\u064a\u0629 \u0627\u0644\u0646\u0638\u0627\u0645\n\n\u0647\u0630\u0647 \u062d\u0632\u0645\u0629 \u0635\u063a\u064a\u0631\u0629 \u0644\u063a\u0629 \u0628\u0627\u064a\u062b\u0648\u0646 \u062a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0641\u0642\u0637\u060c \u0648\u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0623\u0631\u0628\u0639 \u0637\u0628\u0642\u0627\u062a \u0648\u0638\u064a\u0641\u064a\u0629:\n\n- **\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a:** [`Job`]() \u0647\u064a \u0641\u0626\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u063a\u064a\u0631 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u063a\u064a\u064a\u0631 \u062a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 `identifier` \u0648`name` \u0648`owner`. \u062a\u0642\u0648\u0645 `Job.to_dict()` \u0628\u062a\u0633\u0644\u0633\u0644\u0647\u0627 \u0639\u0628\u0631 `dataclasses.asdict()`.\n- **\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639:** [`JobRepository`]() \u064a\u062e\u0632\u0646 \u0627\u0644\u0645\u0647\u0627\u0645 \u0641\u064a \u0642\u0627\u0645\u0648\u0633 \u062f\u0627\u062e\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629\u060c \u062d\u064a\u062b \u064a\u062a\u0645 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u0639\u0631\u0651\u0641 \u0643\u0645\u0641\u062a\u0627\u062d. \u0644\u0627 \u062a\u0648\u062c\u062f \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a \u0623\u0648 \u062a\u062e\u0632\u064a\u0646 \u062f\u0627\u0626\u0645.\n- **\u0627\u0644\u062e\u062f\u0645\u0629:** [`SchedulerService`]() \u062a\u062a\u0648\u0644\u0649 \u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0645\u0639\u0631\u0641\u060c \u0648\u062a\u0648\u062d\u064a\u062f \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a\u060c \u0648\u0627\u0644\u0625\u0646\u0634\u0627\u0621\u060c \u0648\u0627\u0644\u0625\u062f\u0631\u0627\u062c \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629\u060c \u0648\u0627\u0644\u062d\u0630\u0641.\n- **\u0623\u062f\u0627\u0629 \u0627\u0644\u0648\u0642\u062a:** [`next_daily_run()`]() \u062a\u062d\u0633\u0628 \u0648\u0642\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062a\u0627\u0644\u064a\u060c \u0644\u0643\u0646 \u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0627 \u064a\u0633\u062a\u0648\u0631\u062f\u0647\u0627 \u0623\u0648 \u064a\u0631\u0628\u0637\u0647\u0627 \u0628\u0640 `Job` \u0623\u0648 `SchedulerService` \u0623\u0648 `JobRepository`.\n- **\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 (API):** [`scheduler.__init__`]() \u062a\u0635\u062f\u0631 `SchedulerService` \u0641\u0642\u0637.\n\n\u0639\u0644\u0649 \u0627\u0644\u0631\u063a\u0645 \u0645\u0646 \u0627\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u060c \u0644\u0627 \u062a\u062d\u062a\u0648\u064a \u0627\u0644\u0645\u0647\u0627\u0645 \u062d\u0627\u0644\u064a\u064b\u0627 \u0639\u0644\u0649 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062c\u062f\u0648\u0644\u0629\u060c \u0648\u0644\u0627 \u062a\u0648\u062c\u062f \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062a\u0638\u0627\u0631 \u0644\u0644\u062a\u0646\u0641\u064a\u0630. \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a\u060c \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0624\u062b\u0631 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0639\u0644\u0649 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0648\u0635\u0641\u064a\u0629 \u0627\u0644\u0645\u062e\u0632\u0646\u0629 \u0648\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629\u060c \u0644\u0643\u0646\u0647\u0627 \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0624\u062b\u0631 \u0639\u0644\u0649 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0641\u0639\u0644\u064a \u0644\u0644\u0645\u0647\u0645\u0629 \u062f\u0648\u0646 \u062a\u0648\u0633\u064a\u0639 \u0627\u0644\u0646\u0638\u0627\u0645 \u0628\u0634\u0643\u0644 \u0643\u0628\u064a\u0631.\n\n## \u062a\u062f\u0641\u0642 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0648\u0627\u0644\u0625\u062f\u0631\u0627\u062c\n\n\u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0645\u0646 \u062e\u0644\u0627\u0644 `SchedulerService.create_job(name, owner)`:\n\n1. [`create_job()`]() \u062a\u0631\u0641\u0636 \u0627\u0644\u0623\u0633\u0645\u0627\u0621 \u0627\u0644\u0645\u0643\u0648\u0646\u0629 \u0645\u0646 \u0645\u0633\u0627\u0641\u0627\u062a \u0628\u064a\u0636\u0627\u0621 \u0641\u0642\u0637.\n2. \u062a\u0642\u0648\u0645 \u0628\u0642\u0635 `name` \u0648`owner`\u060c \u062b\u0645 \u062a\u0646\u0634\u0626 \u0643\u0627\u0626\u0646 `Job` \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u063a\u064a\u064a\u0631 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 `_next_identifier` \u0627\u0644\u062e\u0627\u0635 \u0628\u0627\u0644\u062e\u062f\u0645\u0629.\n3. [`JobRepository.save()`]() \u062a\u0643\u062a\u0628 \u0627\u0644\u0643\u0627\u0626\u0646 \u0625\u0644\u0649 `_jobs[job.identifier]`.\n4. \u062a\u0642\u0648\u0645 \u0627\u0644\u062e\u062f\u0645\u0629 \u0628\u0632\u064a\u0627\u062f\u0629 \u0642\u064a\u0645\u0629 `_next_identifier` \u0648\u062a\u064f\u0631\u062c\u0639 \u0646\u0641\u0633 \u0643\u0627\u0626\u0646 `Job`.\n\n\u0639\u0631\u0636 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645 \u0639\u0628\u0631 `SchedulerService.list_jobs()`:\n\n1. [`list_jobs()`]() \u062a\u0641\u0648\u0636 \u0645\u0628\u0627\u0634\u0631\u0629 \u0625\u0644\u0649 `repository.all()`.\n2. [`JobRepository.all()`]() \u062a\u0642\u0648\u0645 \u0628\u0641\u0631\u0632 \u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u0642\u0627\u0645\u0648\u0633 \u062a\u0631\u062a\u064a\u0628\u064b\u0627 \u0631\u0642\u0645\u064a\u064b\u0651\u0627.\n3. \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a\u060c \u064a\u062a\u0645 \u0625\u0631\u062c\u0627\u0639 \u0627\u0644\u0645\u0647\u0627\u0645 \u0628\u062a\u0631\u062a\u064a\u0628 \u062a\u0635\u0627\u0639\u062f\u064a \u062d\u0633\u0628 \u0627\u0644\u0645\u0639\u0631\u0651\u0641\/\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0625\u0646\u0634\u0627\u0621\u060c \u0648\u0644\u064a\u0633 \u062d\u0633\u0628 \u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u0632\u0645\u0646\u064a \u0623\u0648 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629.\n\n## \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u0645\u0646 \u0627\u0644\u0645\u062d\u062a\u0645\u0644 \u0623\u0646 \u062a\u062a\u0623\u062b\u0631 \u0628\u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u0647\u0627\u0645\n\n\u0645\u0637\u0644\u0648\u0628:\n\n- [`scheduler\/models.py`](): \u0625\u0636\u0627\u0641\u0629 \u062d\u0642\u0644 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0648\u0623\u064a \u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629. \u0633\u062a\u0642\u0648\u0645 `to_dict()` \u0628\u062a\u0636\u0645\u064a\u0646\u0647 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0644\u0623\u0646\u0647\u0627 \u062a\u0633\u062a\u062e\u062f\u0645 `asdict()`.\n- [`scheduler\/service.py`](): \u0642\u0628\u0648\u0644 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647\u0627 \u0648\u062a\u0645\u0631\u064a\u0631\u0647\u0627 \u0625\u0644\u0649 `Job`.\n- [`tests\/test_scheduler.py`](): \u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u060c \u0648\u0627\u0644\u0635\u0631\u064a\u062d\u060c \u0648\u063a\u064a\u0631 \u0627\u0644\u0635\u0627\u0644\u062d\u060c \u0648\u0627\u0644\u0645\u0633\u0644\u0633\u0644\u060c \u0648\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0627\u062a.\n\n\u0634\u0631\u0648\u0637:\n\n- [`scheduler\/repository.py`](): \u0644\u0627 \u064a\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 `all()` \u0625\u0644\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u0645\u0642\u0635\u0648\u062f \u0645\u0646 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0627\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629. \u064a\u062c\u0628 \u0623\u0646 \u064a\u062a\u0648\u0644\u0649 \u0645\u0641\u062a\u0627\u062d \u062b\u0627\u0646\u0648\u064a \u062d\u062a\u0645\u064a \u0645\u062b\u0644 `identifier` \u0645\u0639\u0627\u0644\u062c\u0629 \u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u0639\u0627\u062f\u0644.\n- [`scheduler\/__init__.py`](): \u0644\u0627 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u062f\u064a\u062b \u0625\u0644\u0627 \u0625\u0630\u0627 \u0623\u0635\u0628\u062d\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0642\u0627\u0626\u0645\u0629 \u0639\u0627\u0645\u0629 \u0623\u0648 \u0643\u0627\u0626\u0646 \u0642\u064a\u0645\u0629.\n- [`README.md`](): \u0642\u0645 \u0628\u062a\u0648\u062b\u064a\u0642 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u0642\u0628\u0648\u0644\u0629 \u0648\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0648\u062f\u0644\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u0631\u062a\u064a\u0628.\n\n\u0645\u0646 \u0627\u0644\u0645\u062d\u062a\u0645\u0644 \u0623\u0644\u0627 \u064a\u062a\u0623\u062b\u0631:\n\n- `scheduler\/time_rules.py`\u060c \u0644\u0623\u0646 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0648\u062d\u064a\u062f \u0641\u064a\u0647 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 \u062a\u0627\u0631\u064a\u062e \u0648\u0648\u0642\u062a \u0645\u062d\u062f\u062f\u064a\u0646 \u0648\u0644\u0627 \u0639\u0644\u0627\u0642\u0629 \u0644\u0647 \u0628\u0627\u0644\u0645\u0647\u0627\u0645 \u0623\u0648 \u0627\u0644\u062a\u0631\u062a\u064a\u0628.\n\n## \u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\n\n- **\u062f\u0644\u0627\u0644\u0627\u062a \u063a\u064a\u0631 \u0645\u062d\u062f\u062f\u0629:** \u0644\u0627 \u064a\u0642\u062f\u0645 \u0627\u0644\u0643\u0648\u062f \u0623\u064a \u0633\u0627\u0628\u0642\u0629 \u062a\u062d\u062f\u062f \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0623\u0643\u0628\u0631 \u0623\u0648 \u0627\u0644\u0623\u0635\u063a\u0631 \u062a\u0639\u0646\u064a \u0623\u0648\u0644\u0648\u064a\u0629 \u0623\u0639\u0644\u0649\u060c \u0623\u0648 \u0645\u0627 \u0647\u064a \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0635\u0627\u0644\u062d\u0629\u060c \u0623\u0648 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u062a\u0624\u062b\u0631 \u0639\u0644\u0649 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0639\u0644\u0649 \u0627\u0644\u0625\u0637\u0644\u0627\u0642.\n- **\u0627\u0644\u062a\u0648\u0627\u0641\u0642:** \u0625\u0636\u0627\u0641\u0629 \u0648\u0633\u064a\u0637\u0629 \u0645\u0637\u0644\u0648\u0628\u0629 \u0625\u0644\u0649 `Job` \u0623\u0648 `create_job()` \u0645\u0646 \u0634\u0623\u0646\u0647\u0627 \u062a\u0639\u0637\u064a\u0644 \u0627\u0644\u0645\u0633\u062a\u062f\u0639\u064a\u0646 \u0627\u0644\u062d\u0627\u0644\u064a\u064a\u0646 \u0645\u062b\u0644 `create_job(\"Daily report\", \"Alex\")` \u0641\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062d\u0627\u0644\u064a. \u0648\u064a\u062d\u0627\u0641\u0638 \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0639\u0644\u0649 \u0635\u0644\u0627\u062d\u064a\u0629 \u0647\u0630\u0627 \u0627\u0644\u0627\u0633\u062a\u062f\u0639\u0627\u0621.\n- **\u062e\u0644\u0644 \u0641\u064a \u0627\u0644\u0645\u0646\u0634\u0626 \u0627\u0644\u0645\u0648\u0636\u0639\u064a:** \u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 `Job` \u062d\u0627\u0644\u064a\u064b\u0627 \u0628\u0634\u0643\u0644 \u0645\u0648\u0636\u0639\u064a \u0641\u064a `SchedulerService.create_job()`. \u0642\u062f \u064a\u0624\u062f\u064a \u0648\u0636\u0639 \u0627\u0644\u062d\u0642\u0648\u0644 \u0648\u0627\u0644\u0627\u0633\u062a\u062f\u0639\u0627\u0621\u0627\u062a \u0627\u0644\u0645\u0648\u0636\u0639\u064a\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0628\u0644\u064a\u0629 \u0625\u0644\u0649 \u062a\u0639\u064a\u064a\u0646 \u0642\u064a\u0645 \u062e\u0627\u0637\u0626\u0629 \u062f\u0648\u0646 \u0625\u0634\u0639\u0627\u0631\u061b \u0648\u0633\u064a\u0643\u0648\u0646 \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0643\u0644\u0645\u0627\u062a \u0627\u0644\u0645\u0641\u062a\u0627\u062d\u064a\u0629 \u0623\u0643\u062b\u0631 \u0623\u0645\u0627\u0646\u064b\u0627.\n- **\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u062a\u0631\u062a\u064a\u0628:** \u064a\u0624\u062f\u064a \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0641\u064a `JobRepository.all()` \u0625\u0644\u0649 \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u0645\u0639\u0645\u0648\u0644 \u0628\u0647. \u062a\u062d\u062a\u0627\u062c \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u0633\u0627\u0648\u064a\u0629 \u0625\u0644\u0649 \u0645\u0639\u064a\u0627\u0631 \u0641\u0627\u0635\u0644 \u062b\u0627\u0628\u062a.\n- **\u0627\u0644\u063a\u0645\u0648\u0636 \u0641\u064a \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629:** \u0642\u062f \u062a\u0633\u0645\u062d \u0642\u064a\u0645\u0629 Python \u063a\u064a\u0631 \u0627\u0644\u0645\u0642\u064a\u062f\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0633\u0644\u0627\u0633\u0644 \u0646\u0635\u064a\u0629 \u0623\u0648 \u0642\u064a\u0645 \u0645\u0646\u0637\u0642\u064a\u0629 \u0623\u0648 \u0623\u0639\u062f\u0627\u062f \u0635\u062d\u064a\u062d\u0629 \u0639\u0634\u0648\u0627\u0626\u064a\u0629 \u064a\u0635\u0639\u0628 \u0645\u0642\u0627\u0631\u0646\u062a\u0647\u0627 \u0628\u0634\u0643\u0644 \u0645\u062a\u0633\u0642.\n- **\u0639\u062f\u0645 \u062a\u0637\u0627\u0628\u0642 \u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u0646\u0641\u064a\u0630:** \u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0648\u0632\u0639 \u0623\u0648 \u0642\u0627\u0626\u0645\u0629 \u0627\u0646\u062a\u0638\u0627\u0631 \u0644\u0644\u062a\u0634\u063a\u064a\u0644. \u0627\u0644\u0627\u062f\u0639\u0627\u0621 \u0628\u0623\u0646 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u062a\u063a\u064a\u0631 \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u062a\u064a \u064a\u062a\u0645 \u062a\u0646\u0641\u064a\u0630\u0647\u0627 \u0623\u0648\u0644\u0627\u064b \u0644\u0646 \u064a\u062f\u0639\u0645\u0647 \u0623\u064a \u0631\u0645\u0632 \u062d\u0627\u0644\u064a.\n- **\u0642\u064a\u0648\u062f \u0627\u0644\u0630\u0627\u0643\u0631\u0629:** \u062a\u062e\u062a\u0641\u064a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629\u060c \u0645\u062b\u0644 \u0623\u064a \u062d\u0642\u0644 \u0622\u062e\u0631 \u0641\u064a \u0627\u0644\u0645\u0647\u0645\u0629\u060c \u0639\u0646\u062f \u0627\u0646\u062a\u0647\u0627\u0621 \u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u0644\u0623\u0646 `_jobs` \u0647\u0648 \u0645\u062c\u0631\u062f \u0642\u0627\u0645\u0648\u0633 \u0645\u062b\u064a\u0644.\n\n## \u062e\u0637\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629\n\n1. \u062d\u062f\u062f \u0627\u0644\u0639\u0642\u062f \u0623\u0648\u0644\u0627\u064b: \u0627\u0644\u062a\u0645\u062b\u064a\u0644\u060c \u0648\u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627\u060c \u0648\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0648\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629\u060c \u0648\u0643\u064a\u0641\u064a\u0629 \u0627\u0644\u0641\u0635\u0644 \u0641\u064a \u062d\u0627\u0644\u0629 \u0627\u0644\u062a\u0639\u0627\u062f\u0644\u060c \u0648\u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u062a\u063a\u064a\u0631 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629.\n2. \u0623\u0636\u0641 `priority` \u0625\u0644\u0649 `Job`\u060c \u0648\u064a\u0641\u0636\u0644 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0630\u0644\u0643 \u0628\u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0645\u062a\u0648\u0627\u0641\u0642\u0629 \u0645\u0639 \u0627\u0644\u0625\u0635\u062f\u0627\u0631\u0627\u062a \u0627\u0644\u0633\u0627\u0628\u0642\u0629.\n3. \u0642\u0645 \u0628\u062a\u0648\u0633\u064a\u0639 `SchedulerService.create_job()` \u0628\u0645\u0639\u0644\u0645\u0629 \u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0648\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647\u0627\u060c \u0648\u0642\u0645 \u0628\u0625\u0646\u0634\u0627\u0621 `Job` \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u062d\u062c\u062c \u0627\u0644\u0643\u0644\u0645\u064a\u0629.\n4. \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u064a\u0631\u0627\u0639\u064a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629\u060c \u0641\u0642\u0645 \u0628\u062a\u063a\u064a\u064a\u0631 `JobRepository.all()` \u0644\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u062d\u0633\u0628 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0623\u0648\u0644\u0627\u064b \u0648\u0627\u0644\u0645\u0639\u0631\u0641 \u062b\u0627\u0646\u064a\u064b\u0627. \u0648\u0625\u0644\u0627\u060c \u0627\u062a\u0631\u0643 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u062f\u0648\u0646 \u062a\u063a\u064a\u064a\u0631.\n5. \u0623\u0636\u0641 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0644\u0645\u0627 \u064a\u0644\u064a:\n   - \u0625\u0646\u0634\u0627\u0621 \u0645\u0648\u062c\u0648\u062f \u0628\u062d\u062c\u062a\u064a\u0646.\n   - \u0627\u0644\u062d\u0641\u0627\u0638 \u0627\u0644\u0635\u0631\u064a\u062d \u0639\u0644\u0649 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629.\n   - \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629.\n   - \u0627\u0644\u0623\u0646\u0648\u0627\u0639 \u063a\u064a\u0631 \u0627\u0644\u0635\u0627\u0644\u062d\u0629 \u0648\u0627\u0644\u0642\u064a\u0645 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642.\n   - \u0645\u062e\u0631\u062c\u0627\u062a `Job.to_dict()`.\n   - \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0641\u064a \u062d\u0627\u0644\u0629 \u0648\u062c\u0648\u062f \u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629.\n   - \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u062b\u0627\u0628\u062a \u0644\u0644\u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u0633\u0627\u0648\u064a\u0629.\n   - \u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u062d\u0627\u0644\u064a \u0644\u0644\u0623\u0633\u0645\u0627\u0621 \u0627\u0644\u0641\u0627\u0631\u063a\u0629.\n6. \u0642\u0645 \u0628\u062a\u062d\u062f\u064a\u062b \u0645\u0644\u0641 README \u0628\u0627\u0644\u0639\u0642\u062f \u0627\u0644\u0639\u0627\u0645 \u0627\u0644\u062f\u0642\u064a\u0642.\n7. \u062a\u0634\u063a\u064a\u0644 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 `python3 -m unittest discover -s tests -v`.\n\n## \u062a\u0645 \u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u062a\u062d\u0642\u0642\n\n- \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629: **\u0627\u062c\u062a\u064a\u0627\u0632 \u0627\u062e\u062a\u0628\u0627\u0631\u064a\u0646**.\n- \u0623\u0643\u062f \u0627\u0644\u0628\u062d\u062b \u0639\u0646 \u0627\u0644\u0631\u0645\u0648\u0632 \u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0623\u0646 `next_daily_run()` \u063a\u064a\u0631 \u0645\u0631\u062a\u0628\u0637 \u0648\u0644\u0627 \u062a\u0648\u062c\u062f \u0631\u0645\u0648\u0632 \u0623\u0648\u0644\u0648\u064a\u0629 \u062d\u0627\u0644\u064a\u0629.\n- \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627: **\u0644\u0627 \u0634\u064a\u0621**.\n- \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0645\u064a\u0632\u0629: **\u0644\u0645 \u064a\u062a\u0645**\u060c \u0643\u0645\u0627 \u0647\u0648 \u0645\u0637\u0644\u0648\u0628.\n\n&gt; **\u0627\u0644\u062e\u0644\u0627\u0635\u0629 + \u0627\u0644\u0642\u0631\u0627\u0631**\n&gt;\n&gt; \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0628\u0633\u064a\u0637 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0645\u062c\u0631\u062f \u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0635\u0641\u064a\u0629 \u0623\u0648 \u062a\u0631\u062a\u064a\u0628 \u0641\u064a \u0627\u0644\u0642\u0627\u0626\u0645\u0629: \u0628\u0634\u0643\u0644 \u0623\u0633\u0627\u0633\u064a `models.py` \u0648`service.py` \u0648`repository.py` \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a. \u0642\u0628\u0644 \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u060c \u0627\u0644\u0642\u0631\u0627\u0631 \u0627\u0644\u0645\u0637\u0644\u0648\u0628 \u0647\u0648 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u062a\u0635\u0641 \u0627\u0644\u0645\u0647\u0645\u0629 \u0641\u062d\u0633\u0628 \u0623\u0645 \u0623\u0646\u0647\u0627 \u062a\u063a\u064a\u0631 \u062a\u0631\u062a\u064a\u0628 `list_jobs()`\u060c \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0645\u0642\u064a\u0627\u0633 \u0627\u0644\u0642\u064a\u0645\u0629 \u0648\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0648\u0627\u0644\u0627\u062a\u062c\u0627\u0647 \u0648\u0642\u0627\u0639\u062f\u0629 \u0627\u0644\u0641\u0635\u0644 \u0641\u064a \u062d\u0627\u0644\u0629 \u0627\u0644\u062a\u0639\u0627\u062f\u0644.<\/pre><\/div><\/details><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0631\u0645\u0632 Claude<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0633\u062c\u0644 \u0627\u0644\u062a\u0633\u0644\u064a\u0645 \u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u0646\u0635 \u0627\u0644\u062d\u0631\u0641\u064a \u0644\u0623\u0648\u0644 \u0646\u0627\u062a\u062c \u0635\u0627\u0644\u062d<\/p><pre>\u0633\u062c\u0644 \u062a\u0634\u063a\u064a\u0644 # T1 \u2014 \u0641\u0647\u0645 \u0645\u0633\u062a\u0648\u062f\u0639 \u063a\u064a\u0631 \u0645\u0623\u0644\u0648\u0641\n\n\u0645\u0639\u0644\u0645\u0627\u062a \u062a\u0646\u0641\u064a\u0630 ##\n\n| \u0627\u0644\u062d\u0642\u0644 | \u0627\u0644\u0642\u064a\u0645\u0629 |\n| --- | --- |\n| \u0627\u0644\u0645\u0647\u0645\u0629 | `T1` |\n| \u0627\u0644\u0645\u0637\u0627\u0644\u0628\u0629 \u0627\u0644\u0645\u062c\u0645\u062f\u0629 | `01-prompts\/T1.md` |\n| SHA-256 \u0644\u0644\u0645\u0648\u062c\u0647 \u0627\u0644\u0645\u062c\u0645\u062f | `a571ff15c2502ec29b172ae2e77dd9ab0caca2869b91f9468d47571434d16c17` |\n| \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 | \u0648\u0643\u064a\u0644 \u0641\u0631\u0639\u064a \u0645\u0639\u0632\u0648\u0644 Claude\u060c `\u0644\u0644\u0623\u063a\u0631\u0627\u0636 \u0627\u0644\u0639\u0627\u0645\u0629`\u060c \u0633\u064a\u0627\u0642 \u062c\u062f\u064a\u062f |\n| \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0632\u0644 | **\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0641\u0631\u0639\u064a** (\u062a\u062e\u0641\u064a\u0636 \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0645\u0648\u062b\u0642 \u2014 \u0627\u0646\u0638\u0631 `results\/isolation-decision.md`) |\n| \u0646\u0633\u062e\u0629 \u0646\u0638\u064a\u0641\u0629 \u0645\u062e\u0635\u0635\u0629 | `runtime\/workspaces\/T1` |\n| \u0625\u0635\u062f\u0627\u0631 \u0643\u0648\u062f Claude | `2.1.220` |\n| \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0646\u0645\u0648\u0630\u062c | `claude-opus-5` |\n| start_utc | `2026-07-28T10:27:31Z` |\n| end_utc | `2026-07-28T10:28:32Z` |\n| \u0627\u0644\u0645\u062f\u0629 | 61 \u062b\u0627\u0646\u064a\u0629 (\u0628\u0627\u0644\u062a\u0632\u0627\u0645\u0646 \u0645\u0639 T2\u2013T4\u061b \u0644\u064a\u0633 \u0642\u064a\u0627\u0633\u064b\u0627 \u062f\u0642\u064a\u0642\u064b\u0627 \u0644\u0644\u0632\u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u063a\u0631\u0642) |\n| \u0631\u0642\u0645 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 | 1 |\n| \u0627\u0644\u062d\u0627\u0644\u0629 | `\u0635\u0627\u0644\u062d` |\n| \u062a\u062f\u062e\u0644 \u0628\u0634\u0631\u064a | \u0644\u0627 \u0634\u064a\u0621 |\n\n## \u0645\u0644\u062e\u0635 \u0623\u062f\u0627\u0629 Safe\n\n`date`\u060c `find`\u060c `ls`\u060c `wc`\u060c `stat`\u060c `grep`\u060c `Read` \u0639\u0644\u0649 7 \u0645\u0644\u0641\u0627\u062a \u0641\u064a \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644\u060c `python3 -V`\u060c\n`python3 -m unittest discover -s tests -v`. \u062c\u0645\u064a\u0639 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0645\u062d\u0635\u0648\u0631\u0629 \u0641\u064a \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062e\u0635\u0635\u0629.\n\u0644\u0627 \u0634\u0628\u0643\u0629\u060c \u0644\u0627 \u062a\u062b\u0628\u064a\u062a\u0627\u062a\u060c \u0644\u0627 \u0639\u0645\u0644\u064a\u0627\u062a \u0643\u062a\u0627\u0628\u0629.\n\n## \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0641\u062d\u0635 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\n\n`python3 -m unittest discover -s tests -v` \u2192 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u0646\u060c OK (\u0627\u0644\u062e\u0631\u0648\u062c 0). \u0623\u0639\u064a\u062f \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0642\u0628\u0644\n\u0627\u0644\u0645\u0646\u0633\u0642 \u0645\u0646 \u062e\u0627\u0631\u062c \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644: \u0627\u0646\u0638\u0631 `results\/checks\/T1-public.txt`.\n\n## \u0627\u0644\u062a\u0635\u062d\u064a\u062d\n\n\u0644\u0627 \u064a\u0648\u062c\u062f. \u0645\u0644\u0641 `results\/T1\/patch.diff` \u0641\u0627\u0631\u063a\u060c \u0648`diff -ru 02-fixture runtime\/workspaces\/T1`\n\u0644\u0627 \u064a\u064f\u0638\u0647\u0631 \u0623\u064a \u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a. \u062a\u0637\u0644\u0628\u062a \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0641\u062d\u0635 \u062f\u0648\u0646 \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0645\u0644\u0641\u0627\u062a\u061b \u0648\u0647\u0630\u0627\n\u062a\u0645 \u062a\u0623\u0643\u064a\u062f\u0647 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636.\n\n## \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u0635\u062d\u064a\u062d\u0647\u0627\n\n\u062e\u0637\u0623 \u0648\u0627\u062d\u062f \u0642\u0627\u0628\u0644 \u0644\u0644\u0627\u0633\u062a\u0631\u062f\u0627\u062f \u0641\u064a \u0634\u0644: \u0627\u0633\u062a\u062e\u062f\u0645 \u0623\u0645\u0631 `grep` \u0627\u0644\u0623\u0648\u0644\u064a \u0623\u0646\u0645\u0627\u0637 `--include=*.py` \u063a\u064a\u0631 \u0645\u062d\u0627\u0637\u0629 \u0628\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0642\u062a\u0628\u0627\u0633\u060c \u0648\u0627\u0644\u062a\u064a\n\u062d\u0627\u0648\u0644\u062a \u0634\u0644 \u062a\u0648\u0633\u064a\u0639\u0647\u0627\u061b \u0623\u064f\u0639\u064a\u062f \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0623\u0645\u0631 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0623\u0646\u0645\u0627\u0637 \u0645\u062d\u0627\u0637\u0629 \u0628\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0642\u062a\u0628\u0627\u0633 \u0648\u0646\u062c\u062d \u0627\u0644\u0623\u0645\u0631. \u0644\u0627 \u064a\u0648\u062c\u062f \u062a\u0623\u062b\u064a\u0631 \u0639\u0644\u0649 \u0627\u0644\u0646\u062a\u0627\u0626\u062c.\n\n## \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0645\u0631\u0626\u064a\u0629 (\u062d\u0631\u0641\u064a\u0627\u064b)\n\n### 1. \u0645\u0627 \u0647\u0648 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\n\n\u0623\u062f\u0627\u0629 \u062b\u0627\u0628\u062a\u0629 \u0645\u0633\u062a\u0642\u0644\u0629 \u062a\u0627\u0628\u0639\u0629 \u0644\u0645\u0643\u062a\u0628\u0629 Python \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0628\u0627\u0633\u0645 `local-scheduler-1.0.0` (`fixture-manifest.json`)\u060c \u0645\u0631\u062e\u0635\u0629 \u0628\u0645\u0648\u062c\u0628 \u062a\u0631\u062e\u064a\u0635 MIT\u060c \u062f\u0648\u0646 \u0623\u064a \u062a\u0628\u0639\u064a\u0627\u062a \u0634\u0628\u0643\u064a\u0629 \u0623\u0648 \u0625\u0646\u062a\u0627\u062c\u064a\u0629 (`README.md`\u060c `\"network_required\": false`). \u0648\u0647\u0648 \u0635\u063a\u064a\u0631 \u062c\u062f\u064b\u0651\u0627: 8 \u0645\u0644\u0641\u0627\u062a \u0645\u0635\u062f\u0631\/\u0648\u062b\u0627\u0626\u0642 \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0645\u0644\u0641 \u0627\u0644\u0628\u064a\u0627\u0646\u060c \u0628\u0625\u062c\u0645\u0627\u0644\u064a 103 \u0623\u0633\u0637\u0631. \u0627\u0644\u0645\u062a\u0631\u062c\u0645 \u0627\u0644\u0645\u0648\u062c\u0648\u062f \u0647\u0648 **Python 3.9.6**. \u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0644\u0641 `pyproject.toml`\u060c \u0623\u0648 `setup.py`\u060c \u0623\u0648 \u062a\u0643\u0648\u064a\u0646 CI\u060c \u0623\u0648 \u0623\u062f\u0627\u0629 \u0641\u062d\u0635 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0629 (linter)\u060c \u0623\u0648 \u062a\u0643\u0648\u064a\u0646 \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0623\u0646\u0648\u0627\u0639 \u2014 \u0648\u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0648\u062d\u064a\u062f \u0627\u0644\u0645\u0639\u0644\u0646 \u0647\u0648 `python3 -m unittest discover -s tests -v` (`README.md`).\n\n### 2. \u0627\u0644\u0628\u0646\u064a\u0629\n\n\u062b\u0644\u0627\u062b \u0637\u0628\u0642\u0627\u062a \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0648\u062d\u062f\u0629 \u0646\u0645\u0637\u064a\u0629 \u0645\u0646\u0641\u0631\u062f\u0629\u060c \u062c\u0645\u064a\u0639\u0647\u0627 \u0636\u0645\u0646 `scheduler\/`:\n\n| \u0627\u0644\u0637\u0628\u0642\u0629 | \u0627\u0644\u0645\u0644\u0641 | \u0627\u0644\u0631\u0645\u0632 | \u0627\u0644\u0645\u0633\u0624\u0648\u0644\u064a\u0629 |\n|---|---|---|---|\n| \u0648\u0627\u062c\u0647\u0629 \u0627\u0644\u062d\u0632\u0645\u0629 | `scheduler\/__init__.py` | `__all__ = [\"SchedulerService\"]` | \u062a\u0639\u064a\u062f \u062a\u0635\u062f\u064a\u0631 `SchedulerService` \u0641\u0642\u0637\u061b \u0648\u0644\u0627 \u062a\u0634\u0643\u0644 `Job` \u0648`JobRepository` \u0648`time_rules` \u062c\u0632\u0621\u064b\u0627 \u0645\u0646 \u0627\u0644\u0648\u0627\u062c\u0647\u0629 \u0627\u0644\u0639\u0627\u0645\u0629 |\n| \u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0645\u062c\u0627\u0644 | `scheduler\/models.py` | `Job` (`@dataclass(frozen=True)`) | \u0643\u0627\u0626\u0646 \u0642\u064a\u0645\u0629 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u063a\u064a\u064a\u0631 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0627\u0644\u062d\u0642\u0648\u0644 `identifier: int`\u060c `name: str`\u060c `owner: str`\u060c \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 `to_dict()` \u0627\u0644\u0645\u064f\u0646\u0641\u064e\u0651\u0630 \u0643\u0640 `asdict(self)` |\n| \u0627\u0644\u0627\u0633\u062a\u0645\u0631\u0627\u0631\u064a\u0629 | `scheduler\/repository.py` | `JobRepository` | `dict` \u0641\u064a \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0628\u0645\u0641\u0627\u062a\u064a\u062d \u062a\u0639\u0631\u064a\u0641\u064a\u0629\u061b `save`\u060c `get`\u060c `all`\u060c `delete` |\n| \u062e\u062f\u0645\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642 | `scheduler\/service.py` | `SchedulerService` | \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629\u060c \u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0645\u0639\u0631\u0641\u060c \u0627\u0644\u062a\u0646\u0633\u064a\u0642: `create_job`\u060c `list_jobs`\u060c `delete_job` |\n| \u064a\u062a\u064a\u0645 | `scheduler\/time_rules.py` | `next_daily_run` | \u062d\u0633\u0627\u0628 \u0627\u0644\u062a\u0643\u0631\u0627\u0631 \u2014 **\u0644\u0627 \u064a\u0633\u062a\u0648\u0631\u062f\u0647 \u0623\u064a \u0645\u0644\u0641** |\n\n\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u062a\u0628\u0639\u064a\u0629 \u0648\u0627\u0636\u062d \u0648\u0623\u062d\u0627\u062f\u064a \u0627\u0644\u0627\u062a\u062c\u0627\u0647: \u064a\u0633\u062a\u0648\u0631\u062f `service.py` \u0645\u0646 `.models` \u0648`.repository`\u061b \u0648\u064a\u0633\u062a\u0648\u0631\u062f `repository.py` \u0645\u0646 `.models`\u061b \u0648\u064a\u0633\u062a\u0648\u0631\u062f `models.py` `dataclasses` \u0641\u0642\u0637. \u0644\u0627 \u062a\u0648\u062c\u062f \u062d\u0644\u0642\u0627\u062a. \u064a\u0648\u062c\u062f \u062d\u0642\u0646 \u0627\u0644\u062a\u0628\u0639\u064a\u0629 \u0648\u0644\u0643\u0646\u0647 \u0645\u062d\u062f\u0648\u062f \u2014 \u062a\u0642\u0648\u0645 `SchedulerService.__init__(self, repository=None)` \u0628\u062a\u0646\u0641\u064a\u0630 `self.repository = repository or JobRepository()`\u060c \u0644\u0630\u0627 \u064a\u0645\u0643\u0646 \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0647\u0645\u064a \u0641\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a.\n\n\u0644\u0627\u062d\u0638 \u0623\u0646 `scheduler\/time_rules.py` \u0647\u0648 \u0643\u0648\u062f \u0645\u064a\u062a \u062d\u0627\u0644\u064a\u064b\u0627. \u0644\u0642\u062f \u0628\u062d\u062b\u062a \u0641\u064a \u0627\u0644\u0634\u062c\u0631\u0629 \u0628\u0623\u0643\u0645\u0644\u0647\u0627 \u0639\u0646 `time_rules` \u0648`next_daily_run`\u061b \u0648\u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0648\u062d\u064a\u062f\u0629 \u0647\u064a \u062a\u0639\u0631\u064a\u0641\u0647 \u0627\u0644\u062e\u0627\u0635 \u0648\u0625\u062f\u0631\u0627\u062c\u0647 \u0641\u064a `expected_files` \u0628\u0645\u0644\u0641 `fixture-manifest.json`. \u0625\u0646\u0647 \u0645\u0636\u0645\u0651\u0646 \u0641\u064a \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0648\u0644\u0643\u0646\u0647 \u063a\u064a\u0631 \u0645\u0648\u0635\u0648\u0644.\n\n### 3. \u062a\u062f\u0641\u0642 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a\n\n**\u0625\u0646\u0634\u0627\u0621 \u0645\u0647\u0645\u0629** \u2014 `SchedulerService.create_job(name, owner)`:\n1. \u0641\u062d\u0635: `if not name.strip(): raise ValueError('name is required\")`. \u0647\u0630\u0627 \u0647\u0648 *\u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0648\u062d\u064a\u062f* \u0641\u064a \u0627\u0644\u0646\u0638\u0627\u0645 \u2014 \u0644\u0627 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 `owner` \u0623\u0628\u062f\u064b\u0627\u060c \u0644\u0630\u0627 \u064a\u064f\u0642\u0628\u0644 \u0627\u0644\u0645\u0627\u0644\u0643 \u0627\u0644\u0641\u0627\u0631\u063a.\n2. \u0627\u0644\u0625\u0646\u0634\u0627\u0621: `Job(self._next_identifier, name.strip(), owner.strip())` \u2014 \u0625\u0646\u0634\u0627\u0621 \u0645\u0648\u0636\u0639\u064a\u060c \u0648\u064a\u062a\u0645 \u062a\u0637\u0628\u064a\u0639 \u0643\u0644\u062a\u0627 \u0627\u0644\u0633\u0644\u0633\u0644\u062a\u064a\u0646 \u0639\u0646 \u0637\u0631\u064a\u0642 \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0623\u062d\u0631\u0641 \u0627\u0644\u0632\u0627\u0626\u062f\u0629.\n3. \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0627\u0644\u062f\u0627\u0626\u0645: `self.repository.save(job)`\u060c \u0648\u0627\u0644\u0630\u064a \u064a\u0642\u0648\u0645 \u0628\u062a\u0646\u0641\u064a\u0630 `self._jobs[job.identifier] = job` \u0648\u064a\u0639\u064a\u062f \u0627\u0644\u0645\u0647\u0645\u0629.\n4. \u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0639\u062f\u0627\u062f: `self._next_identifier += 1` \u2014 *\u0628\u0639\u062f* \u0627\u0644\u062d\u0641\u0638\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u062d\u062f\u0648\u062b \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u064a\u062a\u0631\u0643 \u0627\u0644\u0639\u062f\u0627\u062f \u062f\u0648\u0646 \u0627\u0633\u062a\u0647\u0644\u0627\u0643.\n5. \u0625\u0631\u062c\u0627\u0639 \u0645\u062b\u064a\u0644 `Job` (\u062a\u064f\u0631\u062c\u0639 \u0627\u0644\u062e\u062f\u0645\u0629 \u0645\u062b\u064a\u0644 `job` \u0627\u0644\u0645\u062d\u0644\u064a \u0627\u0644\u062e\u0627\u0635 \u0628\u0647\u0627\u060c \u0648\u0644\u064a\u0633 \u0642\u064a\u0645\u0629 \u0627\u0644\u0625\u0631\u062c\u0627\u0639 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639).\n\n\u064a\u062a\u0645 \u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0641\u064a **\u0627\u0644\u062e\u062f\u0645\u0629**\u060c \u0648\u0644\u064a\u0633 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 (`self._next_identifier = 1` \u0641\u064a `SchedulerService.__init__`). \u0648\u0647\u0630\u0627 \u064a\u0645\u062b\u0644 \u0646\u0642\u0637\u0629 \u0631\u0628\u0637 \u0645\u0647\u0645\u0629: \u0641\u0625\u062f\u062e\u0627\u0644 \u0645\u0633\u062a\u0648\u062f\u0639 \u064a\u062d\u062a\u0648\u064a \u0628\u0627\u0644\u0641\u0639\u0644 \u0639\u0644\u0649 \u0645\u0647\u0627\u0645 \u0633\u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u0627\u0633\u062a\u0628\u062f\u0627\u0644\u0647\u0627 \u0628\u0635\u0645\u062a\u060c \u0644\u0623\u0646 \u0627\u0644\u062e\u062f\u0645\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u062a\u0639\u064a\u062f \u062a\u0631\u0642\u064a\u0645 \u0627\u0644\u0645\u0647\u0627\u0645 \u0645\u0646 1.\n\n**\u0633\u0631\u062f \u0627\u0644\u0645\u0647\u0627\u0645** \u2014 `SchedulerService.list_jobs()` \u0647\u064a \u0639\u0645\u0644\u064a\u0629 \u062a\u0645\u0631\u064a\u0631 \u0645\u0628\u0627\u0634\u0631 \u0625\u0644\u0649 `JobRepository.all()`\u060c \u0648\u0627\u0644\u062a\u064a \u062a\u064f\u0631\u062c\u0639 `[self._jobs[key] for key in sorted(self._jobs)]`. \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a\u060c \u064a\u062a\u0645 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 **\u062a\u0635\u0627\u0639\u062f\u064a\u064b\u0627 \u062d\u0633\u0628 \u0627\u0644\u0645\u0639\u0631\u0651\u0641 \u0627\u0644\u0635\u062d\u064a\u062d**\u060c \u0648\u0647\u0648 \u0645\u0627 \u064a\u062a\u0637\u0627\u0628\u0642 \u062d\u0627\u0644\u064a\u064b\u0627 \u0645\u0639 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0625\u062f\u0631\u0627\u062c. \u064a\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0642\u0627\u0626\u0645\u0629 \u062c\u062f\u064a\u062f\u0629 \u0639\u0646\u062f \u0643\u0644 \u0627\u0633\u062a\u062f\u0639\u0627\u0621\u060c \u0644\u0643\u0646 \u0643\u0627\u0626\u0646\u0627\u062a `Job` \u0647\u064a \u0645\u0631\u0627\u062c\u0639 \u0645\u0634\u062a\u0631\u0643\u0629 \u2014 \u0648\u0647\u064a \u0622\u0645\u0646\u0629 \u0641\u0642\u0637 \u0644\u0623\u0646 `Job` \u0645\u062c\u0645\u062f\u0629.\n\n**\u0627\u0644\u062d\u0630\u0641** \u2014 `SchedulerService.delete_job(identifier)` \u062a\u0641\u0648\u0636 \u0627\u0644\u0645\u0647\u0645\u0629 \u0625\u0644\u0649 `JobRepository.delete`\u060c \u0648\u0647\u064a `self._jobs.pop(identifier)` \u0628\u062f\u0648\u0646 \u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0644\u0630\u0627 \u0641\u0625\u0646\u0647\u0627 \u062a\u062b\u064a\u0631 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `KeyError` \u0641\u064a \u062d\u0627\u0644\u0629 \u0641\u0642\u062f\u0627\u0646 \u0627\u0644\u0645\u0639\u0631\u0641. \u0648\u0647\u0630\u0627 \u064a\u062a\u0639\u0627\u0631\u0636 \u0645\u0639 `JobRepository.get`\u060c \u0627\u0644\u062a\u064a \u062a\u064f\u0631\u062c\u0639 `None` \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u062d\u0627\u0644\u0629.\n\n**\u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0644\u0647\u0630\u0647 \u0627\u0644\u0645\u0633\u0627\u0631\u0627\u062a** \u2014 \u064a\u062d\u062a\u0648\u064a \u0645\u0644\u0641 `tests\/test_scheduler.py` \u0639\u0644\u0649 \u062d\u0627\u0644\u062a\u064a\u0646 \u0628\u0627\u0644\u0636\u0628\u0637: `test_create_and_list_jobs` (\u064a\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 `job.identifier == 1` \u0648`[job] == service.list_jobs()`) \u0648`test_blank_name_is_rejected`. \u0648\u0643\u0644\u0627\u0647\u0645\u0627 \u064a\u0646\u062c\u062d\u0627\u0646 \u0641\u064a \u0627\u0644\u0634\u062c\u0631\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629.\n\n### 4. \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u0645\u0646 \u0627\u0644\u0645\u062d\u062a\u0645\u0644 \u0623\u0646 \u062a\u062a\u0623\u062b\u0631 \u0628\u0625\u0636\u0627\u0641\u0629 \u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u0647\u0627\u0645\n\n\u0628\u062a\u0631\u062a\u064a\u0628 \u062a\u0646\u0627\u0632\u0644\u064a \u062d\u0633\u0628 \u062f\u0631\u062c\u0629 \u0627\u0644\u064a\u0642\u064a\u0646:\n\n1. **`scheduler\/models.py`** \u2014 \u0645\u0624\u0643\u062f. \u062a\u062d\u062a\u0627\u062c `Job` \u0625\u0644\u0649 \u062d\u0642\u0644 `priority`. \u0646\u0638\u0631\u064b\u0627 \u0644\u0623\u0646 \u0641\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a (dataclass) \u0647\u064a `frozen=True` \u0648\u0627\u0644\u062d\u0642\u0648\u0644 \u0645\u0648\u0636\u0639\u064a\u0629\u060c \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u0645\u0644 \u0627\u0644\u062d\u0642\u0644 \u0627\u0644\u062c\u062f\u064a\u062f \u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 (\u0639\u0644\u0649 \u0633\u0628\u064a\u0644 \u0627\u0644\u0645\u062b\u0627\u0644 `priority: int = 0`) \u0623\u0648 \u064a\u062c\u0628 \u0648\u0636\u0639\u0647 \u0628\u0639\u062f \u0627\u0644\u062d\u0642\u0648\u0644 \u0627\u0644\u062b\u0644\u0627\u062b\u0629 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629\u060c \u0648\u0625\u0644\u0627 \u0641\u0625\u0646 \u0643\u0644 \u0628\u0646\u064a\u0629 \u0645\u0648\u0636\u0639\u064a\u0629 \u0645\u0648\u062c\u0648\u062f\u0629 \u0633\u062a\u062a\u0639\u0637\u0644. \u0644\u0627 \u064a\u062d\u062a\u0627\u062c `to_dict()` \u0625\u0644\u0649 \u0623\u064a \u062a\u0639\u062f\u064a\u0644 \u2014 \u062d\u064a\u062b \u064a\u0644\u062a\u0642\u0637 `asdict(self)` \u0627\u0644\u062d\u0642\u0644 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627\u060c \u0648\u0647\u0648 \u0645\u0627 \u064a\u0645\u062b\u0644 \u062a\u063a\u064a\u064a\u0631\u064b\u0627 \u0635\u0627\u0645\u062a\u064b\u0627 \u0641\u064a \u0639\u0642\u062f \u0627\u0644\u062a\u0633\u0644\u0633\u0644 \u0648\u0644\u064a\u0633 \u062a\u063a\u064a\u064a\u0631\u064b\u0627 \u0641\u064a \u0627\u0644\u0643\u0648\u062f.\n2. **`scheduler\/service.py`** \u2014 \u0645\u0624\u0643\u062f. \u062a\u062d\u062a\u0627\u062c `create_job` \u0625\u0644\u0649 \u0645\u0639\u0644\u0645\u0629 `priority` \u0648\u064a\u062c\u0628 \u062a\u0645\u0631\u064a\u0631\u0647\u0627 \u0625\u0644\u0649 \u0645\u0646\u0634\u0626 `Job(...)` \u0627\u0644\u0645\u0648\u0636\u0639\u064a \u0641\u064a \u0627\u0644\u0633\u0637\u0631 13. \u0625\u0630\u0627 \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 (\u0627\u0644\u0646\u0637\u0627\u0642\u060c \u0627\u0644\u0627\u0646\u062a\u0645\u0627\u0621 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u0639\u062f\u0627\u062f)\u060c \u0641\u064a\u062c\u0628 \u0648\u0636\u0639 \u0627\u0644\u062d\u0627\u0631\u0633 \u0628\u062c\u0648\u0627\u0631 \u0641\u062d\u0635 `name.strip()` \u0627\u0644\u0645\u0648\u062c\u0648\u062f. \u0625\u0630\u0627 \u0643\u0627\u0646 \u064a\u062c\u0628 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u062d\u0633\u0628 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629\u060c \u0641\u0625\u0646 `list_jobs` \u0647\u064a \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u0633\u062a\u0648\u0636\u0639 \u0641\u064a\u0647 \u0633\u064a\u0627\u0633\u0629 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0631\u064a\u062f \u0623\u0646 \u064a\u0638\u0644 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0645\u062e\u0632\u0646\u064b\u0627 \u0628\u0633\u064a\u0637\u064b\u0627.\n3. **`scheduler\/repository.py`** \u2014 \u0645\u062d\u062a\u0645\u0644. \u062a\u0642\u0648\u0645 `sorted(self._jobs)` \u0641\u064a `JobRepository.all()` \u0628\u0641\u0631\u0632 *\u0645\u0641\u0627\u062a\u064a\u062d* \u0627\u0644\u0642\u0627\u0645\u0648\u0633\u060c \u0623\u064a \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a. \u062a\u062a\u0637\u0644\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0631\u062a\u0628\u0629 \u062d\u0633\u0628 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u062a\u063a\u064a\u064a\u0631 \u0647\u0630\u0627 \u0644\u0641\u0631\u0632 \u0627\u0644\u0642\u064a\u0645 \u062d\u0633\u0628 \u0645\u0641\u062a\u0627\u062d \u0645\u062b\u0644 `(-job.priority, job.identifier)`\u060c \u0623\u0648 \u0625\u0636\u0627\u0641\u0629 \u0648\u0627\u0635\u0644\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0645\u0631\u062a\u0628\u0629. \u0644\u0627 \u062a\u062a\u0631\u0643 \u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0641\u0635\u0644 \u0641\u064a \u062d\u0627\u0644\u0629 \u0627\u0644\u062a\u0639\u0627\u062f\u0644 \u0636\u0645\u0646\u064a\u064b\u0627: \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0625\u062f\u0631\u0627\u062c \u0641\u064a \u0627\u0644\u0642\u0627\u0645\u0648\u0633 \u0644\u064a\u0633 \u0639\u0642\u062f\u064b\u0627 \u062b\u0627\u0628\u062a\u064b\u0627 \u064a\u0645\u0643\u0646 \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f \u0639\u0644\u064a\u0647.\n4. **`tests\/test_scheduler.py`** \u2014 \u0645\u0624\u0643\u062f. \u062d\u0627\u0644\u0627\u062a \u062c\u062f\u064a\u062f\u0629 \u0644\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0648\u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0635\u0631\u064a\u062d\u0629\u060c \u0648\u0627\u0644\u062a\u0631\u062a\u064a\u0628\u060c \u0648\u0631\u0641\u0636 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u063a\u064a\u0631 \u0627\u0644\u0635\u0627\u0644\u062d\u0629. \u0644\u0627\u062d\u0638 \u0623\u0646 `assertEqual([job], service.list_jobs())` \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u062a\u0642\u0627\u0631\u0646 *\u0646\u0641\u0633* \u0627\u0644\u0643\u0627\u0626\u0646\u060c \u0644\u0630\u0627 \u0641\u0647\u064a \u062a\u0628\u0642\u0649 \u0633\u0627\u0631\u064a\u0629 \u0639\u0646\u062f \u0625\u0636\u0627\u0641\u0629 \u062d\u0642\u0644\u061b \u0648\u0644\u0646 \u062a\u0628\u0642\u0649 \u0633\u0627\u0631\u064a\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u062a\u0642\u0627\u0631\u0646 \u062d\u0631\u0641\u064a `Job` \u062a\u0645 \u0625\u0646\u0634\u0627\u0624\u0647 \u062d\u062f\u064a\u062b\u064b\u0627.\n5. **`README.md`** \u2014 \u0645\u062d\u062a\u0645\u0644\u060c \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u062f\u0644\u0627\u0644\u0627\u062a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 (\u0623\u064a \u0637\u0631\u0641 \u0627\u0644\u0646\u0637\u0627\u0642 \u064a\u063a\u0644\u0628\u060c \u0648\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629) \u062a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0630\u0643\u0631\u0647\u0627 \u0641\u064a \u0623\u064a \u0645\u0643\u0627\u0646.\n6. **`scheduler\/__init__.py`** \u2014 \u0641\u0642\u0637 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0647\u0646\u0627\u0643 \u062d\u0627\u062c\u0629 \u0625\u0644\u0649 \u062a\u0635\u062f\u064a\u0631 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0623\u0648 \u0627\u0644\u062b\u0648\u0627\u0628\u062a \u062c\u0646\u0628\u064b\u0627 \u0625\u0644\u0649 \u062c\u0646\u0628 \u0645\u0639 `SchedulerService`.\n7. **`fixture-manifest.json`** \u2014 \u0641\u0642\u0637 \u0625\u0630\u0627 \u0623\u0636\u0641\u062a \u0645\u0644\u0641 \u0648\u062d\u062f\u0629 \u0646\u0645\u0637\u064a\u0629 \u062c\u062f\u064a\u062f\u061b \u062d\u064a\u062b \u0625\u0646 \u0645\u0635\u0641\u0648\u0641\u0629 `expected_files` \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647 \u0647\u064a \u0642\u0627\u0626\u0645\u0629 \u062c\u0631\u062f \u0635\u0631\u064a\u062d\u0629 \u0648\u0645\u0646 \u0627\u0644\u0645\u062d\u062a\u0645\u0644 \u0623\u0646 \u062a\u062a\u063a\u064a\u0631.\n8. **`scheduler\/time_rules.py`** \u2014 *\u064a\u062c\u0628* *\u0639\u062f\u0645* \u0627\u0644\u0645\u0633\u0627\u0633 \u0628\u0647. \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0645\u0633\u062a\u0642\u0644\u0629 \u0639\u0646 \u0627\u0644\u062a\u0643\u0631\u0627\u0631\u060c \u0648\u0647\u0630\u0647 \u0627\u0644\u0648\u062d\u062f\u0629 \u063a\u064a\u0631 \u0645\u062a\u0635\u0644\u0629.\n\n### 5. \u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\n\n- **\u062f\u0644\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u062a\u0645\u062b\u0644 \u062a\u063a\u064a\u064a\u0631\u064b\u0627 \u062e\u0641\u064a\u064b\u0651\u0627 \u0641\u064a \u0627\u0644\u0633\u0644\u0648\u0643.** \u062a\u0636\u0645\u0646 `JobRepository.all()` \u062d\u0627\u0644\u064a\u064b\u0651\u0627 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u062a\u0635\u0627\u0639\u062f\u064a \u062d\u0633\u0628 \u0627\u0644\u0645\u0639\u0631\u0651\u0641\u060c \u0648\u062a\u0631\u062b `list_jobs` \u0647\u0630\u0627 \u0627\u0644\u062a\u0631\u062a\u064a\u0628. \u0623\u064a \u0645\u0633\u062a\u062e\u062f\u0645 \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0636\u0645\u0627\u0646 \u0633\u064a\u062a\u0623\u062b\u0631 \u0633\u0644\u0628\u064b\u0627 \u0628\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0631\u062a\u064a\u0628. \u064a\u062c\u0628 \u0627\u062a\u062e\u0627\u0630 \u0642\u0631\u0627\u0631 \u0635\u0631\u064a\u062d: \u0647\u0644 \u062a\u062a\u063a\u064a\u0631 \u062f\u0644\u0627\u0644\u0629 `list_jobs()`\u060c \u0623\u0645 \u062a\u0638\u0647\u0631 \u062f\u0627\u0644\u0629 \u062c\u062f\u064a\u062f\u0629 `list_jobs_by_priority()` \u0628\u062c\u0627\u0646\u0628\u0647\u0627\u061f \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0623\u0648\u0644 \u0647\u0648 \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0623\u0643\u062b\u0631 \u062e\u0637\u0648\u0631\u0629\u060c \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062d\u0627\u0644\u064a `test_create_and_list_jobs` \u0636\u0639\u064a\u0641 \u062c\u062f\u064b\u0627 \u0628\u062d\u064a\u062b \u0644\u0627 \u064a\u0645\u0643\u0646\u0647 \u0627\u0643\u062a\u0634\u0627\u0641 \u0623\u064a \u062a\u0631\u0627\u062c\u0639 \u0641\u064a \u0627\u0644\u0623\u062f\u0627\u0621 (\u0642\u0627\u0626\u0645\u0629 \u0630\u0627\u062a \u0639\u0646\u0635\u0631 \u0648\u0627\u062d\u062f).\n- **\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0641\u0631\u0632 \u063a\u0627\u0645\u0636 \u062d\u0642\u064b\u0627.** \u062a\u0639\u0646\u064a \"\u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 1' \u062a\u0642\u0644\u064a\u062f\u064a\u064b\u0627 *\u0627\u0644\u0623\u0639\u0644\u0649* \u0641\u064a \u0628\u0639\u0636 \u0627\u0644\u0623\u0646\u0638\u0645\u0629 \u0648*\u0627\u0644\u0623\u062f\u0646\u0649* \u0641\u064a \u0623\u0646\u0638\u0645\u0629 \u0623\u062e\u0631\u0649. \u0644\u0627 \u064a\u0648\u062c\u062f \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u2014 \u0644\u0627 \u062a\u0639\u0644\u064a\u0642\u060c \u0648\u0644\u0627 \u0633\u0644\u0633\u0644\u0629 \u062a\u0648\u0636\u064a\u062d\u064a\u0629\u060c \u0648\u0644\u0627 \u0633\u0637\u0631 \u0641\u064a \u0645\u0644\u0641 README \u2014 \u0645\u0627 \u064a\u062d\u062f\u062f \u0630\u0644\u0643. \u0627\u062e\u062a\u0631 \u0642\u0627\u0639\u062f\u0629 \u0645\u062a\u0641\u0642 \u0639\u0644\u064a\u0647\u0627\u060c \u0648\u0642\u0645 \u0628\u062a\u0648\u062b\u064a\u0642\u0647\u0627 \u0641\u064a `models.py`\u060c \u0648\u0642\u0645 \u0628\u062a\u0631\u0645\u064a\u0632\u0647\u0627 \u0641\u064a \u0627\u062e\u062a\u0628\u0627\u0631 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062b\u0644\u0627\u062b \u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0645\u062a\u0645\u064a\u0632\u0629 \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644 \u062d\u062a\u0649 \u064a\u062a\u0645 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0627\u062a\u062c\u0627\u0647 \u0628\u0634\u0643\u0644 \u062b\u0627\u0628\u062a.\n- **\u0627\u0644\u062a\u0639\u0627\u062f\u0644 \u063a\u064a\u0631 \u0627\u0644\u0645\u0633\u062a\u0642\u0631 \u0641\u064a \u0627\u0644\u062a\u0631\u062a\u064a\u0628.** \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0645\u0647\u0645\u062a\u0627\u0646 \u062a\u0634\u062a\u0631\u0643\u0627\u0646 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629\u060c \u0641\u064a\u062c\u0628 \u0623\u0646 \u062a\u0638\u0644 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u062d\u062a\u0645\u064a\u0629. \u062a\u0639\u062a\u0628\u0631 \u062f\u0627\u0644\u0629 `sorted` \u0641\u064a Python \u0645\u0633\u062a\u0642\u0631\u0629\u060c \u0644\u0643\u0646 \u0627\u0644\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0644\u0627 \u064a\u0643\u0648\u0646 \u0645\u0641\u064a\u062f\u064b\u0627 \u0625\u0644\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0646\u0641\u0633\u0647 \u0645\u062d\u062f\u062f\u064b\u0627. \u0627\u062d\u0631\u0635 \u062f\u0627\u0626\u0645\u064b\u0627 \u0639\u0644\u0649 \u062a\u0636\u0645\u064a\u0646 `identifier` \u0643\u0645\u0641\u062a\u0627\u062d \u062b\u0627\u0646\u0648\u064a \u0635\u0631\u064a\u062d.\n- **\u062a\u0631\u062a\u064a\u0628 \u062d\u0642\u0648\u0644 \u0641\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0645\u062c\u0645\u062f\u0629 (Frozen-dataclass).** `Job` \u0647\u064a `@dataclass(frozen=True)` \u0645\u0639 \u062b\u0644\u0627\u062b\u0629 \u062d\u0642\u0648\u0644 \u0645\u0648\u0636\u0639\u064a\u0629\u060c \u0648\u064a\u0642\u0648\u0645 `service.py:13` \u0628\u0625\u0646\u0634\u0627\u0626\u0647\u0627 \u0645\u0648\u0636\u0639\u064a\u0627\u064b. \u0625\u0646 \u0625\u062f\u0631\u0627\u062c `priority` \u0641\u064a \u0623\u064a \u0645\u0643\u0627\u0646 \u0628\u062e\u0644\u0627\u0641 \u0627\u0644\u0645\u0648\u0636\u0639 \u0627\u0644\u0623\u062e\u064a\u0631\u060c \u0623\u0648 \u0628\u062f\u0648\u0646 \u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u064a\u064f\u0639\u062f \u062a\u063a\u064a\u064a\u0631\u064b\u0627 \u062c\u0630\u0631\u064a\u064b\u0627 \u0642\u062f \u0644\u0627 \u062a\u0643\u0634\u0641 \u0639\u0646\u0647 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0628\u0648\u0636\u0648\u062d.\n- **\u062a\u0648\u0633\u064a\u0639 \u0646\u0637\u0627\u0642 \u0639\u0642\u062f `to_dict()`.** \u062a\u0639\u0643\u0633 `asdict(self)` \u062c\u0645\u064a\u0639 \u0627\u0644\u062d\u0642\u0648\u0644. \u062a\u0624\u062f\u064a \u0625\u0636\u0627\u0641\u0629 `priority` \u0625\u0644\u0649 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644 \u062d\u0645\u0648\u0644\u0629 \u0645\u064f\u0633\u0644\u0633\u0644\u0629 \u062f\u0648\u0646 \u0623\u064a \u062a\u0639\u062f\u064a\u0644 \u0645\u0631\u0626\u064a \u0641\u064a \u0646\u0635 \u0637\u0631\u064a\u0642\u0629 `models.py`. \u0623\u064a \u0634\u064a\u0621 \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0634\u0643\u0644 \u0627\u0644\u0642\u0627\u0645\u0648\u0633 \u0627\u0644\u062f\u0642\u064a\u0642 \u0633\u064a\u062a\u0639\u0637\u0644.\n- **\u0642\u064a\u0648\u062f Python 3.9.6.** \u0644\u0627 \u064a\u064f\u0633\u0645\u062d \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 `@dataclass(slots=True)` (3.10+)\u060c \u0648\u0644\u0627 `kw_only=True` (3.10+)\u060c \u0643\u0645\u0627 \u0623\u0646 \u062a\u0639\u0644\u064a\u0642\u0627\u062a PEP 604 `int | None` \u062a\u0641\u0634\u0644 \u0641\u064a \u0648\u0642\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u062f\u0648\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 `from __future__ import annotations`. \u0625\u0630\u0627 \u062a\u0645 \u0646\u0645\u0630\u062c\u0629 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0643\u0642\u0627\u0626\u0645\u0629 (enum)\u060c \u0641\u0625\u0646 `enum.StrEnum` \u0645\u062a\u0648\u0641\u0631\u0629 \u0641\u064a \u0627\u0644\u0625\u0635\u062f\u0627\u0631 3.11 \u0648\u0645\u0627 \u0641\u0648\u0642 \u0648\u0644\u064a\u0633\u062a \u0645\u062a\u0627\u062d\u0629 \u062d\u0627\u0644\u064a\u064b\u0627. \u0623\u064a \u0645\u0646 \u0647\u0630\u0647 \u0627\u0644\u062d\u0627\u0644\u0627\u062a \u0633\u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u062a\u0639\u0637\u0644 \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u0627\u062a \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u062a\u0631\u062c\u0645.\n- **\u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0627\u0644\u0637\u0628\u0642\u0629 \u0627\u0644\u062e\u0627\u0637\u0626\u0629.** `SchedulerService._next_identifier` \u064a\u0639\u0646\u064a \u0623\u0646 \u0627\u0644\u062e\u062f\u0645\u0629 \u062a\u0645\u062a\u0644\u0643 \u0639\u0645\u0644\u064a\u0629 \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0628\u064a\u0646\u0645\u0627 \u064a\u0645\u062a\u0644\u0643 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u062a\u062e\u0632\u064a\u0646. \u0625\u0630\u0627 \u062f\u0641\u0639\u062a \u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0625\u0644\u0649 \u062a\u0646\u0641\u064a\u0630 \u0645\u0633\u062a\u0648\u062f\u0639 \u062b\u0627\u0646\u064d \u0623\u0648 \u062a\u062c\u0647\u064a\u0632\u0627\u062a \u0645\u062d\u0645\u0644\u0629 \u0645\u0633\u0628\u0642\u064b\u0627\u060c \u0641\u0625\u0646 \u0647\u0630\u0627 \u0627\u0644\u062a\u0642\u0633\u064a\u0645 \u0633\u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u062a\u0636\u0627\u0631\u0628 \u0641\u064a \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0648\u062a\u062c\u0627\u0648\u0632 \u0627\u0644\u0645\u0647\u0627\u0645.\n- **\u0639\u0642\u0648\u062f \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u063a\u064a\u0631 \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644\u0629.** \u062a\u064f\u0631\u062c\u0639 `JobRepository.get` \u0627\u0644\u0642\u064a\u0645\u0629 `None` \u0641\u064a \u062d\u0627\u0644\u0629 \u0639\u062f\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0639\u0646\u0635\u0631\u060c \u0628\u064a\u0646\u0645\u0627 \u062a\u064f\u062b\u064a\u0631 `JobRepository.delete` \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `KeyError`. \u064a\u062c\u0628 \u0623\u0646 \u064a\u062e\u062a\u0627\u0631 \u0623\u064a \u0628\u062d\u062b \u062c\u062f\u064a\u062f \u0645\u062a\u0639\u0644\u0642 \u0628\u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0623\u062d\u062f \u0647\u0630\u064a\u0646 \u0627\u0644\u0623\u0633\u0644\u0648\u0628\u064a\u0646 \u0639\u0646 \u0642\u0635\u062f\u060c \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0623\u0646 \u064a\u0631\u062b \u0639\u062f\u0645 \u0627\u0644\u0627\u062a\u0633\u0627\u0642 \u0639\u0646 \u0637\u0631\u064a\u0642 \u0627\u0644\u0635\u062f\u0641\u0629.\n- **\u0633\u0627\u0628\u0642\u0629 \u0641\u062c\u0648\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629.** \u062a\u0642\u0648\u0645 `create_job` \u0628\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 `name` \u0648\u0644\u0643\u0646 \u0644\u064a\u0633 `owner`. \u0644\u0627 \u062a\u0646\u0633\u062e \u0647\u0630\u0627 \u0627\u0644\u062a\u0633\u0627\u0647\u0644 \u0625\u0644\u0649 `priority` \u2014 \u0641\u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u063a\u064a\u0631 \u0627\u0644\u0645\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647\u0627 \u062a\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 \u0645\u0641\u062a\u0627\u062d \u0627\u0644\u0641\u0631\u0632 \u0648\u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u062b\u064a\u0631 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `TypeError` \u0641\u064a \u0623\u0639\u0645\u0627\u0642 `sorted` (\u0639\u0644\u0649 \u0633\u0628\u064a\u0644 \u0627\u0644\u0645\u062b\u0627\u0644\u060c \u0645\u0642\u0627\u0631\u0646\u0629 `int` \u0628\u0640 `None`) \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0645\u0648\u0642\u0639 \u0627\u0644\u0627\u0633\u062a\u062f\u0639\u0627\u0621.\n- **\u0641\u062e \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0645\u064a\u062a.** \u064a\u0628\u062f\u0648 \u0645\u0644\u0641 `scheduler\/time_rules.py` \u0648\u0643\u0623\u0646\u0647 \u0645\u0646\u0637\u0642 \u062c\u062f\u0648\u0644\u0629 \u0648\u0633\u064a\u062c\u0630\u0628 \u0627\u0644\u062a\u0639\u062f\u064a\u0644\u0627\u062a. \u0644\u0627 \u064a\u062a\u0645 \u0627\u0633\u062a\u064a\u0631\u0627\u062f\u0647 \u0645\u0646 \u0623\u064a \u0645\u0643\u0627\u0646\u060c \u0648\u062a\u0639\u062a\u0631\u0641 \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647 \u0628\u0648\u062c\u0648\u062f \u0627\u0644\u062e\u0644\u0644: \u0641\u0647\u0648 \u064a\u0636\u064a\u0641 24 \u0633\u0627\u0639\u0629 \u0645\u0646 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0646\u0642\u0636\u064a \u0628\u062a\u0648\u0642\u064a\u062a UTC \u0648\"\u064a\u063a\u064a\u0631 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0645\u062d\u0644\u064a \u0627\u0644\u0641\u0639\u0644\u064a \u062e\u0644\u0627\u0644 \u0641\u062a\u0631\u0627\u062a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a\". \u0648\u0644\u0627 \u064a\u0646\u062a\u062c \u0639\u0646 \u062a\u063a\u064a\u064a\u0631\u0647 \u0623\u064a \u062a\u0623\u062b\u064a\u0631 \u0645\u0644\u062d\u0648\u0638 \u0639\u0644\u0649 \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0630\u064a \u064a\u062a\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0647\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0627\u0644\u062c\u0647\u062f \u0627\u0644\u0645\u0628\u0630\u0648\u0644 \u0641\u064a \u0630\u0644\u0643 \u064a\u0630\u0647\u0628 \u0633\u062f\u0649\u060c \u0648\u0623\u064a \u0627\u062e\u062a\u0628\u0627\u0631 \u064a\u064f\u0643\u062a\u0628 \u0628\u0646\u0627\u0621\u064b \u0639\u0644\u064a\u0647 \u0644\u0627 \u064a\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 \u0623\u064a \u0634\u064a\u0621 \u064a\u062a\u0645 \u0625\u0637\u0644\u0627\u0642\u0647.\n- **\u0634\u0628\u0643\u0629 \u0623\u0645\u0627\u0646 \u0636\u0639\u064a\u0641\u0629.** \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u0646 \u0641\u0642\u0637\u060c \u0628\u062f\u0648\u0646 \u062a\u0643\u0627\u0645\u0644 \u0645\u0633\u062a\u0645\u0631 (CI)\u060c \u0648\u0644\u0627 \u0623\u062f\u0627\u0629 \u0641\u062d\u0635 \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0629 (linter)\u060c \u0648\u0644\u0627 \u0641\u062d\u0635 \u0627\u0644\u0623\u0646\u0648\u0627\u0639. \u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0627 \u064a\u0643\u062a\u0634\u0641 \u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u0641\u064a \u0627\u0644\u0623\u062f\u0627\u0621 \u0633\u0648\u0649 \u0645\u0627 \u062a\u0643\u062a\u0628\u0647 \u0628\u0646\u0641\u0633\u0643. \u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0639\u0644\u0649 \u0623\u0646\u0647\u0627 \u062a\u063a\u0637\u064a\u0629 \u0623\u0633\u0627\u0633\u064a\u0629 \u063a\u064a\u0631 \u0643\u0627\u0641\u064a\u0629\u060c \u0648\u0644\u064a\u0633 \u0643\u0628\u0648\u0627\u0628\u0629.\n\n### 6. \u062e\u0637\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 (\u0644\u0645 \u062a\u064f\u0646\u0641\u064e\u0651\u0630)\n\n1. **\u062d\u062f\u062f \u0627\u0644\u062f\u0644\u0627\u0644\u0627\u062a \u0623\u0648\u0644\u064b\u0627\u060c \u0643\u062a\u0627\u0628\u0629\u064b.** \u0646\u0648\u0639 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 (`int` \u0645\u0642\u0627\u0628\u0644 enum)\u060c \u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0635\u0627\u0644\u062d\u060c \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629\/\u063a\u064a\u0631 \u0627\u0644\u0645\u062d\u062f\u062f\u0629\u060c \u0648\u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0641\u0631\u0632. \u0642\u0645 \u0628\u062a\u0633\u062c\u064a\u0644\u0647\u0627 \u0643\u0633\u0644\u0633\u0644\u0629 \u062a\u0648\u0636\u064a\u062d\u064a\u0629 (docstring) \u0641\u064a `Job` \u0641\u064a `scheduler\/models.py` \u2014 \u0641\u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0648\u062d\u064a\u062f \u0627\u0644\u0630\u064a \u062a\u0639\u062a\u0645\u062f \u0639\u0644\u064a\u0647 \u062c\u0645\u064a\u0639 \u0627\u0644\u0637\u0628\u0642\u0627\u062a \u0628\u0627\u0644\u0641\u0639\u0644.\n2. **\u062a\u0648\u0633\u064a\u0639 \u0627\u0644\u0646\u0645\u0648\u0630\u062c.** \u0623\u0636\u0641 `priority: int = 0` \u0643\u0627\u0644\u062d\u0642\u0644 *\u0627\u0644\u0623\u062e\u064a\u0631* \u0641\u064a `Job` \u0641\u064a `scheduler\/models.py`\u060c \u0645\u0639 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0627\u0641\u0642 \u0627\u0644\u0645\u0648\u0636\u0639\u064a \u0645\u0639 `service.py:13` \u0648\u062a\u0631\u0643 `to_dict()` \u062f\u0648\u0646 \u062a\u063a\u064a\u064a\u0631.\n3. **\u062f\u0645\u062c\u0647\u0627 \u0641\u064a \u0627\u0644\u062e\u062f\u0645\u0629.** \u0623\u0636\u0641 \u0645\u0639\u0644\u0645\u0629 `priority` \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0625\u0644\u0649 `SchedulerService.create_job`\u060c \u0648\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647\u0627 \u0628\u062c\u0627\u0646\u0628 \u062d\u0627\u0631\u0633 `name.strip()` \u0627\u0644\u0645\u0648\u062c\u0648\u062f (\u0623\u0637\u0644\u0642 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `ValueError`\u060c \u0645\u0637\u0627\u0628\u0642\u064b\u0627 \u0644\u0646\u0648\u0639 \u0627\u0644\u062e\u0637\u0623 \u0627\u0644\u0645\u062d\u062f\u062f)\u060c \u0648\u0642\u0645 \u0628\u062a\u0645\u0631\u064a\u0631\u0647\u0627 \u0625\u0644\u0649 \u0645\u0646\u0634\u0626 `Job`.\n4. **\u062a\u062d\u062f\u064a\u062f \u0639\u0642\u062f \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0628\u0634\u0643\u0644 \u0635\u0631\u064a\u062d.** \u0627\u0644\u062e\u064a\u0627\u0631 \u0627\u0644\u0645\u0641\u0636\u0644 \u0630\u0648 \u0627\u0644\u0645\u062e\u0627\u0637\u0631 \u0627\u0644\u0645\u0646\u062e\u0641\u0636\u0629: \u062a\u0631\u0643 `JobRepository.all()` \u0643\u0645\u0627 \u0647\u064a \u0628\u0627\u0639\u062a\u0628\u0627\u0631\u0647\u0627 \u0627\u0644\u0639\u0646\u0635\u0631 \u0627\u0644\u0623\u0633\u0627\u0633\u064a \u0627\u0644\u0645\u0631\u062a\u0628 \u062d\u0633\u0628 \u0627\u0644\u0645\u0639\u0631\u0641\u060c \u0648\u0625\u0636\u0627\u0641\u0629 \u0648\u0627\u0635\u0644\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0645\u0631\u062a\u0628\u0629 \u062d\u0633\u0628 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629. \u0625\u0630\u0627 \u0643\u0627\u0646 \u0644\u0627\u0628\u062f \u0645\u0646 \u062a\u063a\u064a\u064a\u0631 \u0645\u0639\u0646\u0649 `list_jobs()` \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0630\u0644\u0643\u060c \u0641\u0642\u0645 \u0628\u062a\u063a\u064a\u064a\u0631 \u062a\u0639\u0628\u064a\u0631 `JobRepository.all()` \u0644\u0641\u0631\u0632 \u0627\u0644\u0642\u064a\u0645 \u062d\u0633\u0628 \u0645\u0641\u062a\u0627\u062d \u0645\u0631\u0643\u0628 \u0635\u0631\u064a\u062d \u064a\u062a\u0636\u0645\u0646 `identifier` \u0643\u0645\u0639\u064a\u0627\u0631 \u0641\u0627\u0635\u0644 \u0641\u064a \u062d\u0627\u0644\u0629 \u0627\u0644\u062a\u0639\u0627\u062f\u0644\u060c \u0648\u0642\u0645 \u0628\u062a\u062f\u0648\u064a\u0646 \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0641\u064a \u0645\u0644\u0641 `README.md`.\n5. **\u062d\u0627\u0641\u0638 \u0639\u0644\u0649 \u062a\u0632\u0627\u0645\u0646 `scheduler\/__init__.py`** \u0641\u0642\u0637 \u0641\u064a \u062d\u0627\u0644\u0629 \u0625\u062f\u062e\u0627\u0644 \u0642\u0627\u0626\u0645\u0629 \u0623\u0648 \u062b\u0627\u0628\u062a \u0639\u0627\u0645.\n6. **\u0644\u0627 \u062a\u0644\u0645\u0633 \u0645\u0644\u0641 `scheduler\/time_rules.py`**\u060c \u0648\u0644\u0627 \u062a\u0636\u0641 \u0645\u0644\u0641\u0627\u062a \u0645\u0627 \u0644\u0645 \u064a\u062a\u0645 \u062a\u062d\u062f\u064a\u062b `expected_files` \u0641\u064a \u0645\u0644\u0641 `fixture-manifest.json` \u0636\u0645\u0646 \u0646\u0641\u0633 \u0627\u0644\u062a\u063a\u064a\u064a\u0631.\n\n### 7. \u062e\u0637\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629\n\n- **\u0627\u0644\u062e\u0637 \u0627\u0644\u0623\u0633\u0627\u0633\u064a \u0623\u0648\u0644\u064b\u0627.** \u0642\u0645 \u0628\u062a\u0634\u063a\u064a\u0644 `python3 -m unittest discover -s tests -v` \u0642\u0628\u0644 \u0623\u064a \u062a\u0639\u062f\u064a\u0644 \u0648\u062a\u0623\u0643\u062f \u0645\u0646 \u0627\u062c\u062a\u064a\u0627\u0632 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u064a\u0646. \u0644\u0642\u062f \u0642\u0645\u062a \u0628\u0630\u0644\u0643 \u0628\u0627\u0644\u0641\u0639\u0644 \u2014 \u0648\u0642\u062f \u0627\u062c\u062a\u0627\u0632 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u0646 \u0628\u0646\u062c\u0627\u062d.\n- **\u0628\u0648\u0627\u0628\u0629 \u0627\u0644\u0627\u0646\u062d\u062f\u0627\u0631.** \u064a\u062c\u0628 \u0623\u0646 \u064a\u0646\u062c\u062d \u0643\u0644\u0627 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u064a\u0646 \u0627\u0644\u062d\u0627\u0644\u064a\u064a\u0646 \u062f\u0648\u0646 \u062a\u0639\u062f\u064a\u0644. \u0625\u0630\u0627 \u0627\u062d\u062a\u0627\u062c `test_create_and_list_jobs` \u0625\u0644\u0649 \u062a\u0639\u062f\u064a\u0644\u060c \u0641\u0647\u0630\u0627 \u0645\u0624\u0634\u0631 \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u064a\u0633\u0628\u0628 \u062e\u0644\u0644\u0627\u064b\u060c \u0648\u0644\u064a\u0633 \u0633\u0628\u0628\u0627\u064b \u0644\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631.\n- **\u062d\u0627\u0644\u0627\u062a \u062c\u062f\u064a\u062f\u0629 \u0641\u064a `tests\/test_scheduler.py`:**\n  - \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0639\u0646\u062f \u0627\u0633\u062a\u062f\u0639\u0627\u0621 `create_job` \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0627\u0644\u0642\u062f\u064a\u0645 \u0630\u064a \u0627\u0644\u062d\u062c\u062a\u064a\u0646 (\u0644\u0625\u062b\u0628\u0627\u062a \u0627\u0644\u062a\u0648\u0627\u0641\u0642 \u0645\u0639 \u0627\u0644\u0625\u0635\u062f\u0627\u0631\u0627\u062a \u0627\u0644\u0633\u0627\u0628\u0642\u0629).\n  - \u062c\u0648\u0644\u0627\u062a \u0630\u0647\u0627\u0628 \u0648\u0625\u064a\u0627\u0628 \u0635\u0631\u064a\u062d\u0629 \u0644\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0639\u0628\u0631 `create_job` \u2192 `list_jobs`.\n  - \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 **\u062b\u0644\u0627\u062b \u0623\u0648\u0644\u0648\u064a\u0627\u062a \u0645\u0645\u064a\u0632\u0629 \u0623\u0648 \u0623\u0643\u062b\u0631**\u060c \u0645\u0639 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u2014 \u0648\u0647\u0630\u0627 \u0647\u0648 \u0645\u0627 \u064a\u062d\u062f\u062f \u0627\u062a\u062c\u0627\u0647 \u0627\u0644\u0641\u0631\u0632.\n  - \u0643\u0633\u0631 \u0627\u0644\u062a\u0639\u0627\u062f\u0644: \u064a\u062a\u0645 \u0625\u0631\u062c\u0627\u0639 \u0627\u0644\u0645\u0647\u0645\u062a\u064a\u0646 \u0627\u0644\u0644\u062a\u064a\u0646 \u0644\u0647\u0645\u0627 \u0623\u0648\u0644\u0648\u064a\u0629 \u0645\u062a\u0633\u0627\u0648\u064a\u0629 \u0628\u062a\u0631\u062a\u064a\u0628 \u062a\u0635\u0627\u0639\u062f\u064a \u0644\u0644\u0645\u0639\u0631\u0641.\n  - \u062a\u0624\u062f\u064a \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u063a\u064a\u0631 \u0627\u0644\u0635\u0627\u0644\u062d\u0629 \u0625\u0644\u0649 \u0625\u062b\u0627\u0631\u0629 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `ValueError`\u060c \u0639\u0644\u0649 \u063a\u0631\u0627\u0631 \u062d\u0627\u0644\u0629 \u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0641\u0627\u0631\u063a.\n  - \u062a\u0636\u0645\u0651\u0646 `to_dict()` `priority` \u0628\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629.\n  - \u0645\u0633\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0645\u064f\u062f\u0631\u062c: \u0644\u0627 \u062a\u0632\u0627\u0644 `SchedulerService(repository=fake)` \u062a\u064f\u0639\u064a\u0651\u0646 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0628\u0634\u0643\u0644 \u0635\u062d\u064a\u062d\u060c \u0645\u0645\u0627 \u064a\u0636\u0645\u0646 \u0639\u0645\u0644 \u0627\u0644\u062a\u062f\u0627\u062e\u0644 \u0628\u064a\u0646 `repository` \u0648`JobRepository()`.\n- **\u0641\u062d\u0635 \u0627\u0644\u062a\u0648\u0627\u0641\u0642.** \u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646 \u0643\u0644 \u0634\u064a\u0621 \u064a\u0639\u0645\u0644 \u0639\u0644\u0649 Python 3.9.6 \u062a\u062d\u062f\u064a\u062f\u064b\u0627 \u2014 \u0628\u062f\u0648\u0646 `slots=`\u060c \u0648\u0628\u062f\u0648\u0646 `kw_only=`\u060c \u0648\u0628\u062f\u0648\u0646 \u0627\u062a\u062d\u0627\u062f\u0627\u062a PEP 604 \u0627\u0644\u0645\u062c\u0631\u062f\u0629\u060c \u0648\u0628\u062f\u0648\u0646 `StrEnum`.\n- **\u0641\u062d\u0635 \u0627\u0644\u0645\u062e\u0632\u0648\u0646.** \u0623\u0639\u062f \u0642\u0631\u0627\u0621\u0629 `fixture-manifest.json` \u0648\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0639\u0644\u0649 \u0627\u0644\u0642\u0631\u0635 \u0644\u0627 \u062a\u0632\u0627\u0644 \u062a\u062a\u0637\u0627\u0628\u0642 \u0645\u0639 `expected_files`.\n- **\u0627\u0644\u062d\u062a\u0645\u064a\u0629.** \u0642\u0645 \u0628\u062a\u0634\u063a\u064a\u0644 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0645\u0631\u062a\u064a\u0646 \u0623\u0648 \u062b\u0644\u0627\u062b \u0645\u0631\u0627\u062a\u061b \u0641\u0642\u062f \u062a\u0638\u0647\u0631 \u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0641\u0631\u0632 \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u062a\u0631\u062a\u064a\u0628 \u062a\u0643\u0631\u0627\u0631 \u0627\u0644\u0642\u0627\u0645\u0648\u0633 \u0628\u0634\u0643\u0644 \u0645\u062a\u0642\u0637\u0639.\n- **\u0627\u0644\u0646\u0638\u0627\u0641\u0629.** \u0642\u0645 \u0628\u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 `PYTHONDONTWRITEBYTECODE=1` \u062d\u062a\u0649 \u0644\u0627 \u062a\u0638\u0647\u0631 \u062f\u0644\u0627\u0626\u0644 `__pycache__` \u0643\u0627\u0646\u062d\u0631\u0627\u0641 \u063a\u064a\u0631 \u0645\u062a\u062a\u0628\u0639 \u0645\u0642\u0627\u0631\u0646\u0629\u064b \u0628\u0627\u0644\u0628\u064a\u0627\u0646.\n<\/pre><\/div><\/details><\/div><p class=\"d-limit\">\u0642\u064a\u0648\u062f \u0627\u0644\u0646\u0638\u0627\u0645: \u0643\u0627\u0646 \u0647\u0630\u0627 \u0645\u0633\u062a\u0648\u062f\u0639\u064b\u0627 \u0635\u063a\u064a\u0631\u064b\u0627 \u0644\u0640 Python \u064a\u0639\u0645\u0644 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a. \u0627\u0633\u062a\u062e\u062f\u0645 Claude \u0648\u0643\u064a\u0644\u064b\u0627 \u0641\u0631\u0639\u064a\u064b\u0651\u0627 \u0643\u062d\u0644 \u0628\u062f\u064a\u0644 \u0628\u0639\u062f \u0627\u0646\u062a\u0647\u0627\u0621 \u0635\u0644\u0627\u062d\u064a\u0629 OAuth \u0639\u0628\u0631 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI)\u060c \u0644\u0630\u0627 \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0639\u0632\u0644 \u0648\u0631\u0624\u064a\u0629 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0645\u064a\u0632 \u0645\u062a\u0637\u0627\u0628\u0642\u062a\u064a\u0646.<\/p><\/article>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u0627 \u062a\u0639\u0643\u0633 \u0647\u0630\u0647 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0623\u062f\u0627\u0621 \u0641\u064a \u0645\u0633\u062a\u0648\u062f\u0639 \u0623\u062d\u0627\u062f\u064a \u0643\u0628\u064a\u0631 \u0623\u0648 \u0641\u064a \u062c\u0644\u0633\u0629 \u0645\u0633\u062a\u0642\u0644\u0629 \u062a\u0633\u062a\u0645\u0631 \u0623\u0633\u0628\u0648\u0639\u064b\u0627 \u0643\u0627\u0645\u0644\u0627\u064b. \u0641\u0642\u062f \u0643\u0627\u0646 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0635\u063a\u064a\u0631\u064b\u0627 \u0648\u0645\u062d\u0643\u0648\u0645\u064b\u0627 \u0639\u0646 \u0642\u0635\u062f. \u0644\u0625\u062c\u0631\u0627\u0621 \u062a\u0642\u064a\u064a\u0645 \u062d\u0642\u064a\u0642\u064a\u060c \u0627\u0628\u062f\u0623 \u0628\u0645\u0648\u062c\u0647 \u00ab\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u00bb: \u0627\u0637\u0644\u0628 \u0645\u0646 \u0643\u0644 \u0623\u062f\u0627\u0629 \u0623\u0646 \u062a\u0631\u0633\u0645 \u0645\u0633\u0627\u0631 \u0627\u0644\u0627\u0633\u062a\u062f\u0639\u0627\u0621\u060c \u0648\u062a\u062d\u062f\u062f \u0623\u0633\u0645\u0627\u0621 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u0633\u062a\u0642\u0648\u0645 \u0628\u062a\u0639\u062f\u064a\u0644\u0647\u0627\u060c \u0648\u062a\u062d\u062f\u062f \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u0648\u062a\u0633\u0631\u062f \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u0627\u062a \u063a\u064a\u0631 \u0627\u0644\u0645\u062d\u0633\u0648\u0645\u0629 \u0642\u0628\u0644 \u0627\u0644\u0633\u0645\u0627\u062d \u0628\u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u062a\u0639\u062f\u064a\u0644\u0627\u062a.<\/p>\n\n\n\n<h2 id=\"implementation\" class=\"wp-block-heading\">\u0623\u0633\u0644\u0648\u0628 \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u060c \u0648\u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u0635\u062d\u064a\u062d\u060c \u0648\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0627\u0644\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0644\u0641\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u062f \u064a\u0646\u062c\u0645 \u0646\u0641\u0633 \u0633\u0644\u0648\u0643 \u0627\u0644\u0646\u062c\u0627\u062d \u0641\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0639\u0646 \u062e\u064a\u0627\u0631\u0627\u062a \u0647\u0646\u062f\u0633\u064a\u0629 \u0645\u062e\u062a\u0644\u0641\u0629. \u0641\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 T2\u060c \u062d\u0635\u0644 \u0643\u0644\u0627 \u0627\u0644\u0645\u0646\u062a\u062c\u064a\u0646 \u0639\u0644\u0649 30\/30 \u0648\u0627\u062c\u062a\u0627\u0632\u0627 \u0627\u062e\u062a\u0628\u0627\u0631 \u00ab\u0627\u0644\u0645\u064f\u062b\u0628\u062a \u0627\u0644\u062e\u0641\u064a \u0627\u0644\u0645\u062c\u0645\u062f\u00bb. \u0648\u0636\u0639 \u0643\u0648\u062f Claude \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u062d\u0642\u0642 \u0641\u064a \u0623\u0643\u062b\u0631 \u0645\u0646 \u062d\u062f \u0648\u0627\u062d\u062f \u0648\u0623\u0636\u0627\u0641 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0623\u0648\u0633\u0639 \u0646\u0637\u0627\u0642\u064b\u0627 \u0644\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0648\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u062a\u0628\u0629. \u0623\u0645\u0627 Codex\u060c \u0641\u0642\u062f \u0627\u0633\u062a\u062e\u062f\u0645\u062a \u062a\u0646\u0641\u064a\u0630\u064b\u0627 \u0623\u0635\u063a\u0631 \u062d\u062c\u0645\u064b\u0627 \u064a\u0631\u0643\u0632 \u0639\u0644\u0649 \u0627\u0644\u062e\u062f\u0645\u0627\u062a\u060c \u0648\u0627\u0644\u0630\u064a \u0627\u0633\u062a\u0648\u0641\u0649 \u0623\u064a\u0636\u064b\u0627 \u0634\u0631\u0648\u0637 \u0627\u0644\u0639\u0642\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0644\u0645\u0637\u0648\u0631 \u0627\u0644\u0645\u0633\u062a\u0642\u0644\u060c \u064a\u0645\u062b\u0644 \u0647\u0630\u0627 \u0645\u0641\u0627\u0636\u0644\u0629 \u062d\u0642\u064a\u0642\u064a\u0629. \u0641\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629 \u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0623\u0648\u0633\u0639 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u062d\u0645\u064a \u0627\u0644\u062b\u0648\u0627\u0628\u062a \u0639\u0646\u062f \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0643\u0627\u0626\u0646\u0627\u062a \u0639\u0628\u0631 \u0645\u0633\u0627\u0631\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629. \u0641\u064a \u0627\u0644\u0645\u0642\u0627\u0628\u0644\u060c \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0642\u0644\u0644 \u0627\u0644\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0635\u063a\u0631 \u062d\u062c\u0645\u064b\u0627 \u0645\u0646 \u0646\u0637\u0627\u0642 \u0627\u0644\u0627\u0646\u062d\u062f\u0627\u0631 \u0648\u0648\u0642\u062a \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u062e\u062f\u0645\u0629 \u0648\u0627\u062d\u062f\u0629 \u0647\u064a \u0646\u0642\u0637\u0629 \u0627\u0644\u062f\u062e\u0648\u0644 \u0627\u0644\u0645\u0642\u0635\u0648\u062f\u0629. \u0648\u0627\u0644\u062d\u0644 \u0627\u0644\u0635\u062d\u064a\u062d \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0642\u0648\u0627\u0639\u062f \u0645\u0644\u0643\u064a\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u060c \u0648\u0644\u064a\u0633 \u0639\u0644\u0649 \u062d\u0633\u0627\u0628 \u0639\u062f\u062f \u0627\u0644\u0623\u0633\u0637\u0631 \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627 \u0623\u0648 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0628\u0634\u0643\u0644 \u0645\u0646\u0641\u0635\u0644.<\/p>\n\n\n\n<style>\n.evidence-t2-multifile-feature{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}\n.evidence-t2-multifile-feature *{box-sizing:border-box}.evidence-t2-multifile-feature .d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 26px 20px;border-bottom:1px solid var(--line)}\n.evidence-t2-multifile-feature .d-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.evidence-t2-multifile-feature .d-title{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.evidence-t2-multifile-feature .d-sub{margin:7px 0 0;color:var(--body);font-size:13px}.evidence-t2-multifile-feature .d-pill{flex:0 0 auto;padding:6px 10px;border:1px solid #ccd6ff;border-radius:999px;color:#2448ca;background:#f0f3ff;font-size:11px;font-weight:800}.evidence-t2-multifile-feature .d-grid{display:grid;grid-template-columns:1fr 1fr}.evidence-t2-multifile-feature .d-side{min-width:0;padding:24px 26px}.evidence-t2-multifile-feature .d-side+.d-side{border-left:1px solid var(--line)}.evidence-t2-multifile-feature .d-product{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-weight:800}.evidence-t2-multifile-feature .d-score{font-size:34px;line-height:1;letter-spacing:-.05em}.evidence-t2-multifile-feature .d-score small{color:var(--muted);font-size:12px;letter-spacing:0}.evidence-t2-multifile-feature .d-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.evidence-t2-multifile-feature .d-metric{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.evidence-t2-multifile-feature .d-metric span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.evidence-t2-multifile-feature .d-metric strong{display:block;margin-top:3px;font-size:13px}.evidence-t2-multifile-feature .d-preview{position:relative;height:192px;overflow:hidden;border:1px solid #29313f;border-radius:6px;background:#11151d;color:#edf0f5}.evidence-t2-multifile-feature .d-preview-label{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.1);color:#aeb7c7;font:750 9px\/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}.evidence-t2-multifile-feature .d-preview pre,.evidence-t2-multifile-feature .d-full pre{margin:0;white-space:pre-wrap;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.evidence-t2-multifile-feature .d-preview pre{padding:13px}.evidence-t2-multifile-feature .d-preview:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:55px;background:linear-gradient(transparent,#11151d)}.evidence-t2-multifile-feature .d-take{margin:14px 0 0;color:var(--body);font-size:12px}.evidence-t2-multifile-feature .d-fulls{padding:0 26px 22px}.evidence-t2-multifile-feature .d-full{margin-top:10px;border:1px solid var(--line);border-radius:6px}.evidence-t2-multifile-feature .d-full summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:800;list-style:none}.evidence-t2-multifile-feature .d-full summary::-webkit-details-marker{display:none}.evidence-t2-multifile-feature .d-full summary:after{content:\"+\";float:right;color:var(--blue);font-size:17px}.evidence-t2-multifile-feature .d-full[open] summary:after{content:\"\u2212\"}.evidence-t2-multifile-feature .d-full-pane{padding:0 14px 14px}.evidence-t2-multifile-feature .d-full-note{margin:0 0 9px;color:var(--muted);font-size:10px}.evidence-t2-multifile-feature .d-full pre{max-height:620px;overflow:auto;padding:15px;border-radius:5px;background:#f5f6f8;color:#222936;border:1px solid #e0e3e8}.evidence-t2-multifile-feature .d-limit{margin:0;padding:12px 26px;border-top:1px solid var(--line);color:#5a6270;background:#fafbfc;font-size:11px}\n@media(max-width:760px){.evidence-t2-multifile-feature .d-head{display:block}.evidence-t2-multifile-feature .d-pill{display:inline-block;margin-top:12px}.evidence-t2-multifile-feature .d-grid{grid-template-columns:1fr}.evidence-t2-multifile-feature .d-side+.d-side{border-left:0;border-top:1px solid var(--line)}}@media(max-width:480px){.evidence-t2-multifile-feature .d-head,.evidence-t2-multifile-feature .d-side{padding:20px}.evidence-t2-multifile-feature .d-fulls{padding:0 20px 20px}.evidence-t2-multifile-feature .d-metrics{grid-template-columns:1fr}}\n<\/style><article class=\"evidence-t2-multifile-feature\"><header class=\"d-head\"><div><p class=\"d-kicker\">T2 \u00b7 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629<\/p><h3 class=\"d-title\">\u062a\u0637\u0628\u064a\u0642 \u0645\u064a\u0632\u0629 \u0630\u0627\u062a \u0623\u0648\u0644\u0648\u064a\u0629 \u0639\u0628\u0631 \u0645\u0644\u0641\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629<\/h3><p class=\"d-sub\">\u0623\u0636\u0641 \u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u0645\u062a\u062c\u0645\u062f\u060c \u0648\u062d\u0627\u0641\u0638 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0627\u0641\u0642\u060c \u0648\u0627\u062c\u062a\u0627\u0632 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0646\u0627\u0635\u0631 \u0627\u0644\u0639\u0627\u0645\u0629 \u0648\u0627\u0644\u0645\u062e\u0641\u064a\u0629.<\/p><\/div><span class=\"d-pill\">\u0631\u0628\u0637\u0629 \u0639\u0646\u0642 \u0639\u0645\u0644\u064a\u0629<\/span><\/header><div class=\"d-grid\"><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0643\u0648\u062f\u0643\u0633\"><div class=\"d-product\"><span>\u0643\u0648\u062f\u0643\u0633<\/span><span class=\"d-score\">30<small>\/30<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>115 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>7 + \u0645\u062e\u0641\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u0631\u0642\u0639\u0629 \u0623\u0635\u063a\u0631<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>\u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u0623\u0648\u0644\u0648\u064a\u0629 \u0625\u0644\u0649 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062b\u0627\u0628\u062a\u060c \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647 \u0639\u0646\u062f \u062d\u062f\u0648\u062f \u0627\u0644\u062e\u062f\u0645\u0629\u060c \u0648\u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639.\n\n\u0627\u062c\u062a\u0627\u0632\u062a \u062c\u0645\u064a\u0639 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 \u0627\u0644\u0633\u0628\u0639\u0629\u060c \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u062e\u0641\u064a\u0629 \u0627\u0644\u0645\u062c\u0645\u062f\u0629\u060c \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0628\u0646\u062c\u0627\u062d.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u062a\u0646\u0641\u064a\u0630 \u0623\u0635\u063a\u0631 \u062d\u062c\u0645\u0627\u064b \u064a\u0631\u0643\u0632 \u0639\u0644\u0649 \u0627\u0644\u062e\u062f\u0645\u0627\u062a \u0648\u064a\u0633\u062a\u0648\u0641\u064a \u062c\u0645\u064a\u0639 \u0627\u0644\u0633\u0644\u0648\u0643\u064a\u0627\u062a \u0627\u0644\u0645\u062c\u0645\u062f\u0629.<\/p><\/section><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0631\u0645\u0632 Claude\"><div class=\"d-product\"><span>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><span class=\"d-score\">30<small>\/30<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>101 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>14 + \u0645\u062e\u0641\u064a<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0623\u0643\u062b\u0631 \u0634\u0645\u0648\u0644\u0627\u064b<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u062d\u062f\u0648\u062f \u0627\u0644\u062e\u062f\u0645\u0629 \u0648\u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062b\u0627\u0628\u062a\u060c \u0648\u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u062a\u0635\u0641\u064a\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u060c \u0648\u0625\u0636\u0627\u0641\u0629 \u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0639\u062a\u0628\u0629.\n\n\u062a\u0645 \u0627\u062c\u062a\u064a\u0627\u0632 \u0623\u0631\u0628\u0639\u0629 \u0639\u0634\u0631 \u0627\u062e\u062a\u0628\u0627\u0631\u064b\u0627 \u0639\u0627\u0645\u064b\u0627 \u0648\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u062e\u0641\u064a.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u062a\u063a\u0637\u064a\u0629 \u0623\u0648\u0633\u0639 \u0646\u0637\u0627\u0642\u064b\u0627 \u0644\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0648\u0639\u062a\u0628\u0629 \u0627\u0644\u062a\u0642\u064a\u064a\u0645 \u062f\u0648\u0646 \u0645\u064a\u0632\u0629 \u0641\u064a \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0648\u0638\u064a\u0641\u064a\u0629.<\/p><\/section><\/div><div class=\"d-fulls\"><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0640 Codex<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0635\u062d\u064a\u062d \u0648\u0627\u0644\u0645\u064f\u0639\u0642\u064e\u0651\u0645 \u0628\u0627\u0644\u0643\u0627\u0645\u0644<\/p><pre>\u062a\u0645 \u062a\u0646\u0641\u064a\u0630 \u0645\u064a\u0632\u0629 \u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u062c\u062f\u0648\u0644\u0629.\n\n\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627:\n\n- [scheduler\/models.py](.\/scheduler\/models.py:5) \u2014 \u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u0645\u062a\u063a\u064a\u0631 `priority` \u0627\u0644\u0645\u0633\u0644\u0633\u0644\u060c \u0648\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0644\u0647 \u0647\u064a `0`.\n- [scheduler\/service.py](.\/scheduler\/service.py:11) \u2014 \u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629 \u0648\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0648\u0627\u0644\u062a\u0635\u0641\u064a\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 `list_jobs(min_priority=0)` \u0645\u0639 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a.\n- [tests\/test_scheduler.py](.\/tests\/test_scheduler.py:16) \u2014 \u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u062a\u063a\u0637\u064a\u0629 \u0644\u0644\u0642\u064a\u0645 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0648\u0627\u0644\u062a\u0633\u0644\u0633\u0644\u060c \u0648\u0627\u0644\u062a\u062e\u0632\u064a\u0646\u060c \u0648\u0627\u0644\u062d\u062f\u0648\u062f\u060c \u0648\u0627\u0644\u0642\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0635\u0627\u0644\u062d\u0629\u060c \u0648\u0627\u0644\u062a\u0635\u0641\u064a\u0629.\n\n\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a:\n\n```text\npython3 -m unittest discover -s tests -v\n\u062a\u0645 \u062a\u0634\u063a\u064a\u0644 7 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u2014 OK\n```\n\n**\u0627\u0644\u062e\u0644\u0627\u0635\u0629:** \u062a\u0645 \u0625\u0643\u0645\u0627\u0644 \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u062c\u0645\u062f\u0629 \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647\u0627.  \n**\u0627\u0644\u0642\u0631\u0627\u0631 \u0627\u0644\u0645\u0637\u0644\u0648\u0628:** \u0644\u0627 \u0634\u064a\u0621.<\/pre><\/div><\/details><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0631\u0645\u0632 Claude<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0633\u062c\u0644 \u0627\u0644\u062a\u0633\u0644\u064a\u0645 \u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u0646\u0635 \u0627\u0644\u062d\u0631\u0641\u064a \u0644\u0623\u0648\u0644 \u0646\u0627\u062a\u062c \u0635\u0627\u0644\u062d<\/p><pre>\u0633\u062c\u0644 \u062a\u0634\u063a\u064a\u0644 # T2 \u2014 \u0645\u064a\u0632\u0629 \u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629\n\n\u0645\u0639\u0644\u0645\u0627\u062a \u062a\u0646\u0641\u064a\u0630 ##\n\n| \u0627\u0644\u062d\u0642\u0644 | \u0627\u0644\u0642\u064a\u0645\u0629 |\n| --- | --- |\n| \u0627\u0644\u0645\u0647\u0645\u0629 | `T2` |\n| \u0645\u0648\u062c\u0647 \u0645\u062c\u0645\u062f | `01-prompts\/T2.md` |\n| SHA-256 \u0644\u0644\u0645\u0648\u062c\u0647 \u0627\u0644\u0645\u062c\u0645\u062f | `8476a56034c4e719b97ee4081b32b4c73efd45feafe1bda9d477c83cb8fdb698` |\n| \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 | \u0648\u0643\u064a\u0644 \u0641\u0631\u0639\u064a \u0645\u0639\u0632\u0648\u0644 Claude\u060c `\u0644\u0644\u0623\u063a\u0631\u0627\u0636 \u0627\u0644\u0639\u0627\u0645\u0629`\u060c \u0633\u064a\u0627\u0642 \u062c\u062f\u064a\u062f |\n| \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0632\u0644 | **\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0641\u0631\u0639\u064a** (\u062a\u062e\u0641\u064a\u0636 \u0645\u0648\u062b\u0642 \u2014 \u0627\u0646\u0638\u0631 `results\/isolation-decision.md`) |\n| \u0646\u0633\u062e\u0629 \u0646\u0638\u064a\u0641\u0629 \u0645\u062e\u0635\u0635\u0629 | `runtime\/workspaces\/T2` |\n| \u0625\u0635\u062f\u0627\u0631 \u0643\u0648\u062f Claude | `2.1.220` |\n| \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0646\u0645\u0648\u0630\u062c | `claude-opus-5` |\n| start_utc | `2026-07-28T10:27:52Z` |\n| end_utc | `2026-07-28T10:29:33Z` |\n| \u0627\u0644\u0645\u062f\u0629 | 101 \u062b\u0627\u0646\u064a\u0629 (\u0628\u0627\u0644\u062a\u0632\u0627\u0645\u0646 \u0645\u0639 T1 \u0648 T3 \u0648 T4\u061b \u0644\u064a\u0633 \u0642\u064a\u0627\u0633\u064b\u0627 \u062f\u0642\u064a\u0642\u064b\u0627 \u0644\u0644\u0632\u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u063a\u0631\u0642) |\n| \u0631\u0642\u0645 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 | 1 |\n| \u0627\u0644\u062d\u0627\u0644\u0629 | `\u0635\u0627\u0644\u062d` |\n| \u062a\u062f\u062e\u0644 \u0628\u0634\u0631\u064a | \u0644\u0627 \u0634\u064a\u0621 |\n\n## \u0645\u0644\u062e\u0635 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u0622\u0645\u0646\u0629\n\n`\u0627\u0644\u062a\u0627\u0631\u064a\u062e`\u060c `\u0642\u0631\u0627\u0621\u0629`\/`\u062a\u062d\u0631\u064a\u0631`\/`\u0643\u062a\u0627\u0628\u0629` \u062f\u0627\u062e\u0644 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0641\u0642\u0637\u060c `grep`\u060c\n`python3 -m unittest discover`\u060c `python3 -m compileall`\u060c \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0633\u0631\u064a\u0639\u0629 \u0645\u0636\u0645\u0646\u0629 \u0644\u0640 `python3 -c`.\n\u0628\u062f\u0648\u0646 \u0634\u0628\u0643\u0629\u060c \u0628\u062f\u0648\u0646 \u062a\u062b\u0628\u064a\u062a\u0627\u062a\u060c \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0641\u0642\u0637.\n\n## \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627\n\n`scheduler\/models.py`\u060c `scheduler\/repository.py`\u060c `scheduler\/service.py`\u060c\n`tests\/test_scheduler.py`. \u0644\u0645 \u062a\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0623\u0648 \u0625\u0632\u0627\u0644\u0629 \u0623\u064a \u0645\u0644\u0641\u0627\u062a\u060c \u0644\u0630\u0627 \u064a\u0638\u0644 \u0645\u0644\u0641 `fixture-manifest.json`\n\u062f\u0642\u064a\u0642\u064b\u0627. \u0627\u0644\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0643\u0627\u0645\u0644: `results\/T2\/patch.diff`.\n\n## \u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0641\u062d\u0635 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\n\n\u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646\u0647\u0627 \u0628\u0648\u0627\u0633\u0637\u0629 \u0645\u0634\u063a\u0644 \u0627\u0644\u0645\u0647\u0627\u0645:\n\n| \u0627\u0644\u0641\u062d\u0635 | \u0627\u0644\u0646\u062a\u064a\u062c\u0629 |\n| --- | --- |\n| `python3 -m unittest discover -s tests -v` (\u0627\u0644\u062e\u0637 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u060c \u0642\u0628\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631) | 2 \u0646\u0627\u062c\u062d\u060c 0 \u0641\u0627\u0634\u0644 |\n| `python3 -m compileall -q scheduler tests` | \u0646\u0638\u064a\u0641 |\n| \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062f\u062e\u0627\u0646 \u0627\u0644\u0645\u0636\u0645\u0646\u0629 (\u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u0642\u062f\u064a\u0645 \u0630\u0648 3 \u0645\u0639\u0644\u0645\u0627\u062a\u060c \u0639\u062a\u0628\u0629 \u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629\/\u0627\u0644\u0645\u0648\u0636\u0639\u060c `to_dict`) | \u0646\u0627\u062c\u062d |\n| `python3 -m unittest discover -s tests -v` (\u0646\u0647\u0627\u0626\u064a) | **14 \u0646\u0627\u062c\u062d\u060c 0 \u0641\u0627\u0634\u0644** |\n\n\u0623\u0639\u064a\u062f \u0627\u0644\u062a\u062d\u0642\u0642 \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0642\u0644 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0645\u0646\u0633\u0642 \u0645\u0646 \u062e\u0627\u0631\u062c \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644:\n\n| \u0627\u0644\u0641\u062d\u0635 | \u0627\u0644\u062e\u0631\u0648\u062c | \u0627\u0644\u0646\u062a\u064a\u062c\u0629 |\n| --- | --- | --- |\n| \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 (`results\/checks\/T2-public.txt`) | 0 | 14 \u0627\u062e\u062a\u0628\u0627\u0631\u064b\u0627\u060c OK |\n| \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u062e\u0641\u064a\u0629 `03-checks\/test_t2_hidden.py` (`results\/checks\/T2-hidden.txt`) | 0 | \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u0646\u060c \u0646\u0627\u062c\u062d |\n\n\u0641\u0634\u0644 \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u062e\u0641\u064a\u0629 (\u0627\u0644\u062e\u0631\u0648\u062c 1) \u0639\u0646\u062f \u0627\u062e\u062a\u0628\u0627\u0631 \u0646\u0633\u062e\u0629 \u0623\u0635\u0644\u064a\u0629 \u0645\u0646 \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u0627\u062a\u060c \u0645\u0645\u0627 \u064a\u0624\u0643\u062f \u0623\u0646 \u0627\u0644\u0646\u062c\u0627\u062d\n\u0644\u0647 \u0645\u063a\u0632\u0649. \u0627\u0646\u0638\u0631 `results\/checks\/validator-controls.md`.\n\n## \u062a\u063a\u0637\u064a\u0629 \u0633\u0644\u0648\u0643 \u062e\u0631\u064a\u0637\u0629 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0630\u0647\u0628\u064a\n\n\u062a\u0645 \u0627\u0633\u062a\u064a\u0641\u0627\u0621 \u062c\u0645\u064a\u0639 \u0627\u0644\u0633\u0644\u0648\u0643\u064a\u0627\u062a \u0627\u0644\u062e\u0645\u0633 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0641\u064a `03-checks\/gold-map.json`:\n\n| \u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u0645\u0637\u0644\u0648\u0628 | \u0627\u0644\u062f\u0644\u064a\u0644 |\n| --- | --- |\n| \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 0 | `Job.priority: int = MIN_PRIORITY`\u061b `create_job(..., priority=MIN_PRIORITY)`\u061b `test_priority_defaults_to_zero` |\n| \u0646\u0637\u0627\u0642 \u0627\u0644\u0623\u0639\u062f\u0627\u062f \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0645\u0646 0 \u0625\u0644\u0649 9 | `validate_priority` \u062a\u0631\u0641\u0636 \u0627\u0644\u0642\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0623\u0648 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642\u061b `test_out_of_range_priority_is_rejected`\u060c `test_non_integer_priority_is_rejected` |\n| \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u0645\u062a\u0633\u0644\u0633\u0644\u0629 | `to_dict()` \u0639\u0628\u0631 `asdict`\u061b `test_priority_appears_in_serialized_output` \u062a\u062a\u0623\u0643\u062f \u0645\u0646 \u0648\u062c\u0648\u062f \u0627\u0644\u0642\u0627\u0645\u0648\u0633 \u0628\u0627\u0644\u0636\u0628\u0637 |\n| \u062a\u0635\u0641\u064a\u0629 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0627\u0644\u062f\u0646\u064a\u0627 | `list_jobs(min_priority=0)` \u2192 `JobRepository.all(min_priority)`; `test_filter_is_inclusive_of_the_threshold` |\n| \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a | \u062a\u0645 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0645\u0631\u0634\u062d \u062f\u0627\u062e\u0644 \u062a\u0639\u0628\u064a\u0631 `sorted(self._jobs)` \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u061b `test_filter_preserves_ascending_identifier_order` |\n\n## \u0623\u062e\u0637\u0627\u0621 \u062a\u0645 \u062a\u0635\u062d\u064a\u062d\u0647\u0627\n\n\u0644\u0627 \u0634\u064a\u0621. \u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 \u0639\u0646\u0627\u0635\u0631 `__pycache__` \u0627\u0644\u0646\u0627\u062a\u062c\u0629 \u0639\u0646 \u0639\u0645\u0644\u064a\u0627\u062a \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0628\u0648\u0627\u0633\u0637\u0629 \u0645\u0634\u063a\u0644 \u0627\u0644\u0645\u0647\u0627\u0645\u061b \u0648\u0623\u0643\u062f\u062a \u0639\u0645\u0644\u064a\u0629 \u0645\u0633\u062d \u0645\u0646\u0633\u0642\n\u0623\u0646 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 \u062e\u0627\u0644\u064a\u0629 \u0645\u0646 \u0623\u064a \u0639\u0646\u0627\u0635\u0631.\n\n## \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0645\u0631\u0626\u064a\u0629 (\u062d\u0631\u0641\u064a\u0627\u064b)\n\n\u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u062d\u0642\u0644 `priority` \u0645\u0646 \u0646\u0648\u0639 \u0639\u062f\u062f \u0635\u062d\u064a\u062d \u0625\u0644\u0649 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u062c\u062f\u0648\u0644\u0629 \u0639\u0628\u0631 \u0637\u0628\u0642\u0627\u062a \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0648\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0627\u0644\u062e\u062f\u0645\u0629 \u0641\u064a \u0623\u062f\u0627\u0629 \u0627\u0644\u0645\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u062d\u0644\u064a\u060c \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u0641\u0644\u062a\u0631\u0629.\n\n**`scheduler\/models.py`** \u2014 \u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u062b\u0648\u0627\u0628\u062a \u0627\u0644\u0648\u062d\u062f\u0629 \u0627\u0644\u0646\u0645\u0637\u064a\u0629 `MIN_PRIORITY = 0` \/ `MAX_PRIORITY = 9` \u0648\u062f\u0627\u0644\u0629 `validate_priority(priority)` \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0648\u0627\u0644\u062a\u064a \u062a\u062b\u064a\u0631 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `ValueError` \u0644\u0644\u0642\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0648\u0627\u0644\u0642\u064a\u0645 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642 0\u20139 \u0636\u0645\u0646\u0627\u064b. \u064a\u062a\u0645 \u0631\u0641\u0636 `bool` \u0635\u0631\u0627\u062d\u0629\u064b \u0639\u0644\u0649 \u0627\u0644\u0631\u063a\u0645 \u0645\u0646 \u0643\u0648\u0646\u0647 \u0641\u0626\u0629 \u0641\u0631\u0639\u064a\u0629 \u0645\u0646 `int`\u060c \u0644\u0630\u0627 \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0645\u0631 \u0642\u064a\u0645\u0629 `True` \u0643\u0623\u0648\u0644\u0648\u064a\u0629 1. \u064a\u0643\u062a\u0633\u0628 \u0641\u0626\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a `Job` \u0627\u0644\u0645\u062c\u0645\u062f\u0629 `priority: int = MIN_PRIORITY` \u0643\u062d\u0642\u0644 \u062e\u062a\u0627\u0645\u064a \u0628\u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0645\u0645\u0627 \u064a\u062d\u0627\u0641\u0638 \u0639\u0644\u0649 \u0639\u0645\u0644 \u0627\u0644\u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u062d\u0627\u0644\u064a \u0630\u064a \u0627\u0644\u062d\u062c\u062c \u0627\u0644\u062b\u0644\u0627\u062b\u0629\u060c \u0648`__post_init__` \u0627\u0644\u062a\u064a \u062a\u0633\u062a\u062f\u0639\u064a \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0635\u062d\u0629 \u0628\u062d\u064a\u062b \u0644\u0627 \u064a\u0645\u0643\u0646 \u0625\u0646\u0634\u0627\u0621 \u0623\u0648\u0644\u0648\u064a\u0627\u062a \u063a\u064a\u0631 \u0635\u0627\u0644\u062d\u0629 \u0628\u0623\u064a \u0645\u0633\u0627\u0631. \u062a\u0645 \u062a\u0631\u0643 `to_dict()` \u0639\u0644\u0649 \u0634\u0643\u0644 `asdict(self)`\u060c \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a \u062a\u0638\u0647\u0631 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0641\u064a \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0645\u062a\u0633\u0644\u0633\u0644\u0629 \u062a\u0644\u0642\u0627\u0626\u064a\u064b\u0627 \u0648\u0628\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u062d\u0642\u0648\u0644.\n\n**`scheduler\/repository.py`** \u2014 \u062a\u0623\u062e\u0630 `JobRepository.all()` \u0645\u0639\u0644\u0645\u0629 \u0627\u062e\u062a\u064a\u0627\u0631\u064a\u0629 `min_priority` \u0648\u062a\u0642\u0648\u0645 \u0628\u0627\u0644\u062a\u0635\u0641\u064a\u0629 \u0636\u0645\u0646 \u062a\u0639\u0628\u064a\u0631 `sorted(self._jobs)` \u0627\u0644\u062d\u0627\u0644\u064a\u060c \u0648\u0628\u0630\u0644\u0643 \u064a\u062a\u0645 \u0636\u0645\u0627\u0646 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u062a\u0635\u0627\u0639\u062f\u064a \u0644\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0645\u0646 \u062e\u0644\u0627\u0644 \u0646\u0641\u0633 \u0645\u0633\u0627\u0631 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0641\u0631\u062f\u064a \u0627\u0644\u0630\u064a \u0643\u0627\u0646 \u064a\u0648\u0641\u0631\u0647 \u0628\u0627\u0644\u0641\u0639\u0644\u060c \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0625\u0639\u0627\u062f\u0629 \u062a\u0623\u0633\u064a\u0633\u0647 \u0628\u0639\u062f \u0627\u0644\u062a\u0635\u0641\u064a\u0629. \u064a\u062d\u062a\u0641\u0638 \u0627\u0644\u0648\u0633\u064a\u0637 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a \u0628\u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u0633\u0627\u0628\u0642 \u0627\u0644\u0630\u064a \u0644\u0627 \u064a\u062a\u0637\u0644\u0628 \u0623\u064a \u0648\u0633\u064a\u0637 \u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0644\u0645\u0633\u062a\u062f\u0639\u064a\u0646 \u0627\u0644\u062d\u0627\u0644\u064a\u064a\u0646. \u0644\u0645 \u064a\u062d\u062a\u062c \u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0646\u0641\u0633\u0647 \u0625\u0644\u0649 \u0623\u064a \u062a\u063a\u064a\u064a\u0631: \u062d\u064a\u062b \u064a\u0642\u0648\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0628\u062a\u062e\u0632\u064a\u0646 \u0645\u062b\u064a\u0644\u0627\u062a `Job` \u0628\u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a \u062a\u0628\u0642\u0649 \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0633\u0627\u0631\u064a\u0629 \u0648\u062a\u0646\u062a\u0642\u0644 \u0630\u0647\u0627\u0628\u064b\u0627 \u0648\u0625\u064a\u0627\u0628\u064b\u0627 \u0639\u0628\u0631 `save`\/`get`\/`all`.\n\n**`scheduler\/service.py`** \u2014 \u062a\u0642\u0628\u0644 `create_job` \u062d\u062c\u0629 `priority` \u0627\u062e\u062a\u064a\u0627\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0646\u0647\u0627\u064a\u0629 (\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 0) \u0648\u062a\u0642\u0648\u0645 \u0628\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647\u0627 \u0642\u0628\u0644 \u0625\u0646\u0634\u0627\u0621 `Job`\u060c \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a \u064a\u062a\u0645 \u0625\u062b\u0627\u0631\u0629 \u0627\u0644\u0641\u0634\u0644 \u0639\u0646\u062f \u062d\u062f\u0648\u062f \u0627\u0644\u062e\u062f\u0645\u0629 \u0628\u0646\u0641\u0633 \u0639\u0642\u062f `ValueError` \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0641\u064a \u0641\u062d\u0635 \u0627\u0644\u0627\u0633\u0645 \u0627\u0644\u0641\u0627\u0631\u063a \u0627\u0644\u062d\u0627\u0644\u064a. \u062a\u0642\u0648\u0645 `list_jobs(min_priority=0)` \u0628\u062a\u0641\u0648\u064a\u0636 \u0627\u0644\u0645\u0647\u0645\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639. \u064a\u062a\u0645 \u062a\u062c\u0645\u064a\u0639 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0648\u0627\u0644\u062a\u0635\u0641\u064a\u0629 \u0641\u064a \u0645\u0643\u0627\u0646 \u0648\u0627\u062d\u062f \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u062a\u0643\u0631\u0627\u0631\u0647\u0627.\n\n**\u0645\u0644\u0627\u062d\u0638\u0629 \u062a\u0635\u0645\u064a\u0645\u064a\u0629 \u062d\u0648\u0644 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 `min_priority`:** \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0646\u0648\u0639\u0647\u0627 \u0643\u0639\u062f\u062f \u0635\u062d\u064a\u062d\u060c \u0648\u0644\u0643\u0646 *\u0644\u0645* \u064a\u062a\u0645 \u062a\u0642\u064a\u064a\u062f \u0646\u0637\u0627\u0642\u0647\u0627 \u0639\u0645\u062f\u064b\u0627 \u0625\u0644\u0649 0\u20139. \u062a\u0642\u064a\u062f \u0642\u0627\u0639\u062f\u0629 0\u20139 \u0645\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u062e\u0632\u0646\u0647 \u0627\u0644\u0645\u0647\u0645\u0629\u061b \u0641\u0627\u0644\u0639\u062a\u0628\u0629 \u0647\u064a \u0645\u0639\u0644\u0645\u0629 \u0627\u0633\u062a\u0639\u0644\u0627\u0645\u060c \u0648\u0631\u0641\u0636 `min_priority=10` \u0639\u0644\u0649 \u0633\u0628\u064a\u0644 \u0627\u0644\u0645\u062b\u0627\u0644 \u0645\u0646 \u0634\u0623\u0646\u0647 \u062a\u062d\u0648\u064a\u0644 \u0627\u0633\u062a\u0639\u0644\u0627\u0645 \"\u0644\u0627 \u064a\u0637\u0627\u0628\u0642 \u0623\u064a \u0634\u064a\u0621\" \u0635\u062d\u064a\u062d \u0625\u0644\u0649 \u062e\u0637\u0623. \u064a\u062a\u0645 \u062a\u063a\u0637\u064a\u0629 \u062d\u0627\u0644\u0629 \u0625\u0631\u062c\u0627\u0639 `list_jobs(min_priority=9)` \u0627\u0644\u0642\u064a\u0645\u0629 `[]` \u0639\u0646\u062f \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0645\u0647\u0645\u0629 \u0630\u0627\u062a \u0623\u0648\u0644\u0648\u064a\u0629 9 \u0645\u0646 \u062e\u0644\u0627\u0644 \u0627\u062e\u062a\u0628\u0627\u0631.\n\n\u062a\u0645\u062a \u0642\u0631\u0627\u0621\u0629 \u0645\u0644\u0641 `scheduler\/time_rules.py` \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647 \u2014 \u0641\u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0645\u0648\u062b\u0642 \u0627\u0644\u0645\u062a\u0639\u0644\u0642 \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a \u0647\u0648 \u0633\u0644\u0648\u0643 \u0645\u0633\u0628\u0642 \u0645\u0648\u062c\u0648\u062f\u060c \u0648\u0647\u0648 \u062e\u0627\u0631\u062c \u0646\u0637\u0627\u0642 \u0647\u0630\u0647 \u0627\u0644\u0645\u0647\u0645\u0629\u060c \u0648\u062a\u063a\u064a\u064a\u0631\u0647 \u0643\u0627\u0646 \u0633\u064a\u0634\u0643\u0644 \u062a\u063a\u064a\u064a\u0631\u064b\u0627 \u063a\u064a\u0631 \u0630\u064a \u0635\u0644\u0629 \u0641\u064a \u0627\u0644\u0633\u0644\u0648\u0643. \u0644\u0645 \u062a\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0623\u0648 \u0625\u0632\u0627\u0644\u0629 \u0623\u064a \u0645\u0644\u0641\u0627\u062a\u060c \u0644\u0630\u0627 \u064a\u0638\u0644 \u0645\u0644\u0641 `fixture-manifest.json` \u062f\u0642\u064a\u0642\u064b\u0627 (\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0628\u0631\u0645\u062c\u064a\u064b\u0627).\n\n### \u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u062a\u063a\u0637\u064a\u0629 \u0627\u062e\u062a\u0628\u0627\u0631\u064a\u0629\n\n\u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0647\u064a 0\u061b \u0631\u062d\u0644\u0629 \u0630\u0647\u0627\u0628 \u0648\u0625\u064a\u0627\u0628 \u0644\u0644\u062a\u062e\u0632\u064a\u0646 \u0639\u0628\u0631 `JobRepository`\u061b \u0627\u0644\u0623\u0648\u0644\u0648\u064a\u0629 \u0641\u064a \u0646\u0627\u062a\u062c `to_dict()`\u061b \u062a\u0645 \u0642\u0628\u0648\u0644 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u062d\u062f\u064a\u0629 0 \u06489\u061b \u062a\u0645 \u0631\u0641\u0636 \u0627\u0644\u0642\u064a\u0645 \u062e\u0627\u0631\u062c \u0627\u0644\u0646\u0637\u0627\u0642 \u22121\/10\/100\u061b \u0627\u0644\u0642\u064a\u0645 \u063a\u064a\u0631 \u0627\u0644\u0635\u062d\u064a\u062d\u0629 `\"3\"`\/`3.5`\/`None`\/`True` \u0645\u0631\u0641\u0648\u0636\u0629\u061b \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0646\u0645\u0648\u0630\u062c\u061b \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u063a\u064a\u0631 \u0627\u0644\u0645\u064f\u0635\u0641\u0649\u061b \u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0645\u064f\u0635\u0641\u0649 \u0645\u0639 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u062a\u0631\u062a\u064a\u0628 \u0627\u0644\u062a\u0635\u0627\u0639\u062f\u064a \u0644\u0644\u0645\u0639\u0631\u0641\u0627\u062a\u061b \u0639\u062a\u0628\u0629 \u0634\u0627\u0645\u0644\u0629\u061b \u0646\u062a\u064a\u062c\u0629 \u0641\u0627\u0631\u063a\u0629\u061b \u0642\u064a\u0645\u0629 `min_priority` \u063a\u064a\u0631 \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0645\u0631\u0641\u0648\u0636\u0629.\n<\/pre><\/div><\/details><\/div><p class=\"d-limit\">\u0642\u064a\u0648\u062f \u0627\u0644\u0646\u0638\u0627\u0645: \u0643\u0627\u0646 \u0647\u0630\u0627 \u0645\u0633\u062a\u0648\u062f\u0639\u064b\u0627 \u0635\u063a\u064a\u0631\u064b\u0627 \u0644\u0640 Python \u064a\u0639\u0645\u0644 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a. \u0627\u0633\u062a\u062e\u062f\u0645 Claude \u0648\u0643\u064a\u0644\u064b\u0627 \u0641\u0631\u0639\u064a\u064b\u0651\u0627 \u0643\u062d\u0644 \u0628\u062f\u064a\u0644 \u0628\u0639\u062f \u0627\u0646\u062a\u0647\u0627\u0621 \u0635\u0644\u0627\u062d\u064a\u0629 OAuth \u0639\u0628\u0631 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI)\u060c \u0644\u0630\u0627 \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0639\u0632\u0644 \u0648\u0631\u0624\u064a\u0629 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0645\u064a\u0632 \u0645\u062a\u0637\u0627\u0628\u0642\u062a\u064a\u0646.<\/p><\/article>\n\n\n\n<h3 class=\"wp-block-heading\">\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0641\u064a \u0627\u0644\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062b\u0646\u0627\u0626\u064a\u0629<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u062e\u062a\u0628\u0631\u062a T3 \u062e\u0644\u0644\u0627\u064b \u0641\u064a \u062c\u062f\u0648\u0644\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a. \u0648\u062d\u0642\u0642 \u0643\u0644\u0627 \u0627\u0644\u0648\u0643\u064a\u0644\u064a\u0646 30\/30 \u0648\u0627\u062c\u062a\u0627\u0632\u0627 \u0646\u0641\u0633 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062e\u0641\u064a\u0629 \u0641\u064a \u0641\u0635\u0644\u064a \u0627\u0644\u0631\u0628\u064a\u0639 \u0648\u0627\u0644\u062e\u0631\u064a\u0641. \u0623\u0636\u0627\u0641 \u0643\u0648\u062f Claude \u062a\u063a\u0637\u064a\u0629 \u0635\u0631\u064a\u062d\u0629 \u0644\u0644\u0623\u0648\u0642\u0627\u062a \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0627\u0644\u063a\u0627\u0645\u0636\u0629 \u0648\u0627\u0644\u0645\u062a\u062e\u0637\u0627\u0629\u060c \u0648\u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629\u060c \u0648\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0631\u062d\u064a\u0644 \u0644\u0639\u062f\u0629 \u0623\u064a\u0627\u0645. \u0648\u0623\u062c\u0631\u0649 Codex \u062a\u0639\u062f\u064a\u0644\u0627\u064b \u0623\u0636\u064a\u0642 \u0646\u0637\u0627\u0642\u0627\u064b \u0639\u0644\u0649 \u0627\u0644\u0623\u064a\u0627\u0645 \u0627\u0644\u062a\u0642\u0648\u064a\u0645\u064a\u0629 \u0648\u0627\u062c\u062a\u0627\u0632 \u0627\u0644\u0639\u0642\u062f \u00ab\u0627\u0644\u0645\u062c\u0645\u062f\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u064f\u0639\u0632\u0632 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0634\u0627\u0645\u0644\u0629 \u0644\u0644\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062b\u0646\u0627\u0626\u064a\u0629 \u0627\u0644\u062b\u0642\u0629 \u0639\u0646\u062f\u0645\u0627 \u064a\u062a\u0645 \u0625\u0639\u0627\u062f\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0648\u0627\u0633\u0639 \u0623\u0648 \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u062a\u0643\u0644\u0641\u0629 \u0623\u064a \u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u062c\u062f\u0648\u0644\u0629 \u0645\u0631\u062a\u0641\u0639\u0629. \u0623\u0645\u0627 \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0645\u062d\u062f\u0648\u062f \u0641\u064a\u064f\u0639\u062f \u062e\u064a\u0627\u0631\u064b\u0627 \u062c\u0630\u0627\u0628\u064b\u0627 \u0639\u0646\u062f\u0645\u0627 \u064a\u0643\u0648\u0646 \u0627\u0644\u0639\u064a\u0628 \u0645\u0639\u0632\u0648\u0644\u064b\u0627 \u0628\u0634\u0643\u0644 \u062c\u064a\u062f \u0648\u064a\u0631\u063a\u0628 \u0627\u0644\u0641\u0631\u064a\u0642 \u0641\u064a \u062a\u0642\u0644\u064a\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0641\u064a \u0627\u0644\u0633\u0644\u0648\u0643 \u0625\u0644\u0649 \u0623\u062f\u0646\u0649 \u062d\u062f \u0645\u0645\u0643\u0646. \u0648\u0627\u0644\u0633\u0624\u0627\u0644 \u0627\u0644\u0639\u0645\u0644\u064a \u0641\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0644\u064a\u0633 \u201c\u0645\u0646 \u0643\u062a\u0628 \u0623\u0643\u062b\u0631\u061f\u201d\u060c \u0628\u0644 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0627\u0644\u062a\u0635\u062d\u064a\u062d \u064a\u0639\u0627\u0644\u062c \u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u062c\u0630\u0631\u064a \u0627\u0644\u0645\u062d\u062f\u062f\u060c \u0648\u064a\u062d\u0627\u0641\u0638 \u0639\u0644\u0649 \u0627\u0644\u0639\u0642\u0648\u062f \u0627\u0644\u0645\u062d\u064a\u0637\u0629\u060c \u0648\u064a\u062b\u0628\u062a \u0627\u0644\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u062d\u0641\u0648\u0641\u0629 \u0628\u0627\u0644\u0645\u062e\u0627\u0637\u0631.<\/p>\n\n\n\n<style>\n.evidence-t3-dst-bug-fix{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}\n.evidence-t3-dst-bug-fix *{box-sizing:border-box}.evidence-t3-dst-bug-fix .d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 26px 20px;border-bottom:1px solid var(--line)}\n.evidence-t3-dst-bug-fix .d-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.evidence-t3-dst-bug-fix .d-title{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.evidence-t3-dst-bug-fix .d-sub{margin:7px 0 0;color:var(--body);font-size:13px}.evidence-t3-dst-bug-fix .d-pill{flex:0 0 auto;padding:6px 10px;border:1px solid #ccd6ff;border-radius:999px;color:#2448ca;background:#f0f3ff;font-size:11px;font-weight:800}.evidence-t3-dst-bug-fix .d-grid{display:grid;grid-template-columns:1fr 1fr}.evidence-t3-dst-bug-fix .d-side{min-width:0;padding:24px 26px}.evidence-t3-dst-bug-fix .d-side+.d-side{border-left:1px solid var(--line)}.evidence-t3-dst-bug-fix .d-product{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-weight:800}.evidence-t3-dst-bug-fix .d-score{font-size:34px;line-height:1;letter-spacing:-.05em}.evidence-t3-dst-bug-fix .d-score small{color:var(--muted);font-size:12px;letter-spacing:0}.evidence-t3-dst-bug-fix .d-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.evidence-t3-dst-bug-fix .d-metric{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.evidence-t3-dst-bug-fix .d-metric span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.evidence-t3-dst-bug-fix .d-metric strong{display:block;margin-top:3px;font-size:13px}.evidence-t3-dst-bug-fix .d-preview{position:relative;height:192px;overflow:hidden;border:1px solid #29313f;border-radius:6px;background:#11151d;color:#edf0f5}.evidence-t3-dst-bug-fix .d-preview-label{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.1);color:#aeb7c7;font:750 9px\/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}.evidence-t3-dst-bug-fix .d-preview pre,.evidence-t3-dst-bug-fix .d-full pre{margin:0;white-space:pre-wrap;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.evidence-t3-dst-bug-fix .d-preview pre{padding:13px}.evidence-t3-dst-bug-fix .d-preview:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:55px;background:linear-gradient(transparent,#11151d)}.evidence-t3-dst-bug-fix .d-take{margin:14px 0 0;color:var(--body);font-size:12px}.evidence-t3-dst-bug-fix .d-fulls{padding:0 26px 22px}.evidence-t3-dst-bug-fix .d-full{margin-top:10px;border:1px solid var(--line);border-radius:6px}.evidence-t3-dst-bug-fix .d-full summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:800;list-style:none}.evidence-t3-dst-bug-fix .d-full summary::-webkit-details-marker{display:none}.evidence-t3-dst-bug-fix .d-full summary:after{content:\"+\";float:right;color:var(--blue);font-size:17px}.evidence-t3-dst-bug-fix .d-full[open] summary:after{content:\"\u2212\"}.evidence-t3-dst-bug-fix .d-full-pane{padding:0 14px 14px}.evidence-t3-dst-bug-fix .d-full-note{margin:0 0 9px;color:var(--muted);font-size:10px}.evidence-t3-dst-bug-fix .d-full pre{max-height:620px;overflow:auto;padding:15px;border-radius:5px;background:#f5f6f8;color:#222936;border:1px solid #e0e3e8}.evidence-t3-dst-bug-fix .d-limit{margin:0;padding:12px 26px;border-top:1px solid var(--line);color:#5a6270;background:#fafbfc;font-size:11px}\n@media(max-width:760px){.evidence-t3-dst-bug-fix .d-head{display:block}.evidence-t3-dst-bug-fix .d-pill{display:inline-block;margin-top:12px}.evidence-t3-dst-bug-fix .d-grid{grid-template-columns:1fr}.evidence-t3-dst-bug-fix .d-side+.d-side{border-left:0;border-top:1px solid var(--line)}}@media(max-width:480px){.evidence-t3-dst-bug-fix .d-head,.evidence-t3-dst-bug-fix .d-side{padding:20px}.evidence-t3-dst-bug-fix .d-fulls{padding:0 20px 20px}.evidence-t3-dst-bug-fix .d-metrics{grid-template-columns:1fr}}\n<\/style><article class=\"evidence-t3-dst-bug-fix\"><header class=\"d-head\"><div><p class=\"d-kicker\">T3 \u00b7 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629<\/p><h3 class=\"d-title\">\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u062c\u062f\u0648\u0644\u0629 \u0627\u0644\u064a\u0648\u0645\u064a\u0629 \u062e\u0644\u0627\u0644 \u0641\u062a\u0631\u0627\u062a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a<\/h3><p class=\"d-sub\">\u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0645\u0637\u0644\u0648\u0628 \u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637 \u0641\u064a \u0646\u064a\u0648\u064a\u0648\u0631\u0643 \u062e\u0644\u0627\u0644 \u0641\u062a\u0631\u0627\u062a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u064a\u0646 \u0641\u0635\u0644\u064a \u0627\u0644\u0631\u0628\u064a\u0639 \u0648\u0627\u0644\u062e\u0631\u064a\u0641.<\/p><\/div><span class=\"d-pill\">\u0631\u0628\u0637\u0629 \u0639\u0646\u0642 \u00b7 \u062f\u0631\u062c\u0627\u062a \u0642\u0648\u0629 \u0645\u062e\u062a\u0644\u0641\u0629<\/span><\/header><div class=\"d-grid\"><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0643\u0648\u062f\u0643\u0633\"><div class=\"d-product\"><span>\u0643\u0648\u062f\u0643\u0633<\/span><span class=\"d-score\">30<small>\/30<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>99 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>4 + 2 \u0645\u062e\u0641\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u0625\u0635\u0644\u0627\u062d \u0645\u062d\u062f\u0648\u062f<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>\u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u062c\u0630\u0631\u064a: \u0623\u0636\u0627\u0641 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 24 \u0633\u0627\u0639\u0629 \u0645\u0646 \u0648\u0642\u062a UTC \u0627\u0644\u0645\u0646\u0642\u0636\u064a.\n\n\u0627\u0644\u062d\u0644: \u0627\u0644\u062a\u0642\u062f\u0645 \u0628\u064a\u0648\u0645 \u0648\u0627\u062d\u062f \u062d\u0633\u0628 \u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0645\u062d\u0644\u064a. \u0648\u0642\u062f \u0646\u062c\u062d\u062a \u0643\u0644 \u0645\u0646 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u062d\u0642\u0642 \u00ab\u0627\u0644\u0631\u0628\u064a\u0639\u064a\u0629\u00bb \u0648\u00ab\u0627\u0644\u062e\u0631\u064a\u0641\u064a\u0629\u00bb \u0627\u0644\u0645\u062c\u0645\u062f\u0629.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u0648\u0642\u062f \u0623\u0642\u0631\u0651\u062a \u0627\u0644\u0644\u062c\u0646\u0629 \u0627\u0644\u0623\u0636\u064a\u0642 \u0646\u0637\u0627\u0642\u0627\u064b \u0627\u0644\u0639\u0642\u062f \u0627\u0644\u0645\u062c\u0645\u062f \u0628\u0627\u0644\u0643\u0627\u0645\u0644.<\/p><\/section><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0631\u0645\u0632 Claude\"><div class=\"d-product\"><span>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><span class=\"d-score\">30<small>\/30<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>118 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>10 + 2 \u0645\u062e\u0641\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u062d\u0648\u0627\u0641<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>\u062a\u0645\u062a \u062a\u063a\u0637\u064a\u0629 \u062d\u0627\u0644\u0627\u062a \u0627\u0644\u0631\u0628\u064a\u0639 \u0648\u0627\u0644\u062e\u0631\u064a\u0641\u060c \u0648\u0627\u0644\u0623\u0648\u0642\u0627\u062a \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0627\u0644\u0645\u064f\u0641\u0648\u064e\u0651\u062a\u0629 \u0648\u0627\u0644\u063a\u0627\u0645\u0636\u0629\u060c \u0648\u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629\u060c \u0648\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0645\u0631\u064a\u0631 \u0644\u0639\u062f\u0629 \u0623\u064a\u0627\u0645.\n\n\u0627\u062c\u062a\u0627\u0632\u062a \u0643\u0644\u062a\u0627 \u0627\u0644\u0641\u062d\u0648\u0635\u0627\u062a \u0627\u0644\u062e\u0641\u064a\u0629 \u00ab\u0627\u0644\u0645\u062c\u0645\u062f\u0629\u00bb \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0628\u0639\u062f \u062a\u0648\u0633\u064a\u0639 \u0646\u0637\u0627\u0642 \u062a\u063a\u0637\u064a\u0629 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0631\u0627\u062c\u0639.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u062a\u063a\u0637\u064a\u0629 \u0623\u0648\u0633\u0639 \u0644\u0644\u062d\u0627\u0644\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062b\u0646\u0627\u0626\u064a\u0629\u061b \u0646\u0641\u0633 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0648\u0638\u064a\u0641\u064a\u0629 \u0648\u0641\u0642\u064b\u0627 \u0644\u0645\u0639\u0627\u064a\u064a\u0631 \u0627\u0644\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u062b\u0627\u0628\u062a\u0629.<\/p><\/section><\/div><div class=\"d-fulls\"><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0640 Codex<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0635\u062d\u064a\u062d \u0648\u0627\u0644\u0645\u064f\u0639\u0642\u064e\u0651\u0645 \u0628\u0627\u0644\u0643\u0627\u0645\u0644<\/p><pre>\u062a\u0645 \u062a\u0646\u0641\u064a\u0630 \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a.\n\n\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627:\n\n- [scheduler\/time_rules.py](.\/scheduler\/time_rules.py)\n- [tests\/test_time_rules.py](.\/tests\/test_time_rules.py)\n\n\u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a:\n\n- \u0627\u0644\u062a\u0642\u062f\u0645 \u0628\u064a\u0648\u0645 \u0648\u0627\u062d\u062f \u062d\u0633\u0628 \u0627\u0644\u062a\u0642\u0648\u064a\u0645 \u0627\u0644\u0645\u062d\u0644\u064a \u0628\u062f\u0644\u0627\u064b \u0645\u0646 24 \u0633\u0627\u0639\u0629 \u0628\u062a\u0648\u0642\u064a\u062a UTC.\n- \u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0646\u062d\u062f\u0627\u0631 \u0644\u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0644\u0631\u0628\u064a\u0639 \u0648\u062a\u0623\u062e\u064a\u0631\u0647\u0627 \u0641\u064a \u0627\u0644\u062e\u0631\u064a\u0641 \u0641\u064a \u0646\u064a\u0648\u064a\u0648\u0631\u0643.\n- \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0646 \u0627\u0644\u0641\u062a\u0631\u0627\u062a \u0627\u0644\u0645\u0646\u0642\u0636\u064a\u0629 \u0628\u062a\u0648\u0642\u064a\u062a UTC \u0647\u064a 23 \u064825 \u0633\u0627\u0639\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0627\u0644\u064a.\n\n\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a:\n\n- \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0648\u062d\u062f\u0629: \u0627\u062c\u062a\u0627\u0632\u062a 4 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a.\n- \u0641\u062d\u0635 \u0628\u0646\u0627\u0621 \u0627\u0644\u062c\u0645\u0644\u0629 \u0641\u064a \u0627\u0644\u0630\u0627\u0643\u0631\u0629: \u0627\u062c\u062a\u0627\u0632 7 \u0645\u0644\u0641\u0627\u062a Python \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631.\n- \u062a\u0645 \u062d\u0638\u0631 \u062a\u0631\u062c\u0645\u0629 \u0627\u0644\u0628\u0627\u064a\u062a \u0643\u0648\u062f \u0644\u0623\u0646 Python \u064a\u0639\u064a\u062f \u062a\u0648\u062c\u064a\u0647 \u0630\u0627\u0643\u0631\u062a\u0647 \u0627\u0644\u0645\u0624\u0642\u062a\u0629 \u062e\u0627\u0631\u062c \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062e\u0635\u0635\u0629\u061b \u0648\u0644\u0645 \u062a\u062a\u0645 \u0643\u062a\u0627\u0628\u0629 \u0623\u064a \u0645\u0644\u0641\u0627\u062a \u062e\u0627\u0631\u062c\u064a\u0629.\n\n**\u0627\u0644\u062e\u0644\u0627\u0635\u0629:** \u064a\u062d\u0627\u0641\u0638 `next_daily_run` \u0627\u0644\u0622\u0646 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0639\u0628\u0631 \u0627\u0646\u062a\u0642\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a. \u0644\u0627 \u064a\u0644\u0632\u0645 \u0627\u062a\u062e\u0627\u0630 \u0623\u064a \u0642\u0631\u0627\u0631.<\/pre><\/div><\/details><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0631\u0645\u0632 Claude<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0633\u062c\u0644 \u0627\u0644\u062a\u0633\u0644\u064a\u0645 \u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u0646\u0635 \u0627\u0644\u062d\u0631\u0641\u064a \u0644\u0623\u0648\u0644 \u0646\u0627\u062a\u062c \u0635\u0627\u0644\u062d<\/p><pre>\u0633\u062c\u0644 \u062a\u0634\u063a\u064a\u0644 # T3 \u2014 \u0625\u0635\u0644\u0627\u062d \u062e\u0637\u0623 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a\n\n\u0645\u0639\u0644\u0645\u0627\u062a \u062a\u0646\u0641\u064a\u0630 ##\n\n| \u0627\u0644\u062d\u0642\u0644 | \u0627\u0644\u0642\u064a\u0645\u0629 |\n| --- | --- |\n| \u0627\u0644\u0645\u0647\u0645\u0629 | `T3` |\n| \u0645\u0648\u062c\u0647 \u0645\u062c\u0645\u062f | `01-prompts\/T3.md` |\n| SHA-256 \u0644\u0644\u0645\u0648\u062c\u0647 \u0627\u0644\u0645\u062c\u0645\u062f | `3fee50d0230f27f8d6dd7f12e050fa3f0b7f5fb77d9559361fee96e5f1a47307` |\n| \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 | \u0648\u0643\u064a\u0644 \u0641\u0631\u0639\u064a \u0645\u0639\u0632\u0648\u0644 Claude\u060c `\u0644\u0644\u0623\u063a\u0631\u0627\u0636 \u0627\u0644\u0639\u0627\u0645\u0629`\u060c \u0633\u064a\u0627\u0642 \u062c\u062f\u064a\u062f |\n| \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0632\u0644 | **\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0641\u0631\u0639\u064a** (\u062a\u062e\u0641\u064a\u0636 \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0645\u0648\u062b\u0642 \u2014 \u0627\u0646\u0638\u0631 `results\/isolation-decision.md`) |\n| \u0646\u0633\u062e\u0629 \u0646\u0638\u064a\u0641\u0629 \u0645\u062e\u0635\u0635\u0629 | `runtime\/workspaces\/T3` |\n| \u0625\u0635\u062f\u0627\u0631 \u0643\u0648\u062f Claude | `2.1.220` |\n| \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0646\u0645\u0648\u0630\u062c | `claude-opus-5` |\n| start_utc | `2026-07-28T10:28:05Z` |\n| end_utc | `2026-07-28T10:30:03Z` |\n| \u0627\u0644\u0645\u062f\u0629 | 118 \u062b\u0627\u0646\u064a\u0629 (\u0628\u0627\u0644\u062a\u0632\u0627\u0645\u0646 \u0645\u0639 T1 \u0648 T2 \u0648 T4\u061b \u0644\u064a\u0633 \u0642\u064a\u0627\u0633\u064b\u0627 \u062f\u0642\u064a\u0642\u064b\u0627 \u0644\u0644\u0632\u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u063a\u0631\u0642) |\n| \u0631\u0642\u0645 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 | 1 |\n| \u0627\u0644\u062d\u0627\u0644\u0629 | `\u0635\u0627\u0644\u062d` |\n| \u0627\u0644\u062a\u062f\u062e\u0644 \u0627\u0644\u0628\u0634\u0631\u064a | \u0644\u0627 \u0634\u064a\u0621 |\n\n## \u0645\u0644\u062e\u0635 \u0623\u062f\u0627\u0629 Safe\n\n`date`\u060c `\u0642\u0631\u0627\u0621\u0629`\/`\u062a\u062d\u0631\u064a\u0631` \u062f\u0627\u062e\u0644 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0641\u0642\u0637\u060c `python3 -m unittest discover`\u060c\n`python3 -m compileall`\u060c \u062a\u0634\u063a\u064a\u0644 \u062a\u062d\u0643\u0645 \u0633\u0644\u0628\u064a \u062f\u0627\u062e\u0644 \u0627\u0644\u0630\u0627\u0643\u0631\u0629\u060c \u0641\u062d\u0635 \u0633\u0644\u0627\u0645\u0629 \u0645\u0644\u0641 \u0627\u0644\u0628\u064a\u0627\u0646.\n\u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0641\u0642\u0637 (`datetime`\u060c `zoneinfo`\u060c `unittest`). \u0628\u062f\u0648\u0646 \u0634\u0628\u0643\u0629\u060c \u0628\u062f\u0648\u0646 \u062a\u062b\u0628\u064a\u062a\u0627\u062a.\n\n## \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627\n\n`scheduler\/time_rules.py` (\u0627\u0644\u062a\u0635\u062d\u064a\u062d \u2014 \u0641\u0642\u0637 \u0646\u0635 `next_daily_run` \u0648\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647\u0627)\u060c\n`tests\/test_scheduler.py` (\u062a\u0645\u062a \u0625\u0636\u0627\u0641\u0629 `NextDailyRunTests`\u060c 8 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u062f\u0627\u0644\u0629 \u0645\u0633\u0627\u0639\u062f\u0629 `_elapsed`\u061b\n\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0644\u0645 \u064a\u062a\u0645 \u062a\u0639\u062f\u064a\u0644\u0647\u0627). \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0645\u0633\u0627\u0633 \u0628\u0623\u064a \u0648\u062d\u062f\u0629 \u0646\u0645\u0637\u064a\u0629 \u0623\u062e\u0631\u0649\u060c \u0648\u0644\u0645 \u062a\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0623\u064a \u0645\u0644\u0641\u0627\u062a. \u0627\u0644\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0643\u0627\u0645\u0644:\n`results\/T3\/patch.diff`.\n\n## \u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0641\u062d\u0635 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\n\n\u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646\u0647\u0627 \u0628\u0648\u0627\u0633\u0637\u0629 \u0645\u0634\u063a\u0644 \u0627\u0644\u0645\u0647\u0627\u0645:\n\n| \u0627\u0644\u0641\u062d\u0635 | \u0627\u0644\u0646\u062a\u064a\u062c\u0629 |\n| --- | --- |\n| `python3 -m unittest discover -s tests -v` | **10 \u0646\u062c\u062d\u062a\u060c 0 \u0641\u0634\u0644\u062a** (2 \u0645\u0648\u062c\u0648\u062f\u0629 \u0645\u0633\u0628\u0642\u064b\u0627 + 8 \u062c\u062f\u064a\u062f\u0629) |\n| `python3 -m compileall -q scheduler tests` | \u0633\u0644\u064a\u0645 |\n| \u0633\u0644\u0627\u0645\u0629 \u0645\u0644\u0641 \u0627\u0644\u0628\u064a\u0627\u0646 \u0645\u0642\u0627\u0628\u0644 `fixture-manifest.json` | 0 \u0645\u0641\u0642\u0648\u062f\u060c 0 \u063a\u064a\u0631 \u0645\u062a\u0648\u0642\u0639 |\n| \u0627\u0644\u062a\u062d\u0643\u0645 \u0627\u0644\u0633\u0644\u0628\u064a: \u062a\u0645 \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0623\u0648\u0644\u064a \u0641\u064a \u0627\u0644\u0630\u0627\u0643\u0631\u0629\u060c `NextDailyRunTests` \u0641\u0642\u0637 | \u062a\u0645 \u062a\u0634\u063a\u064a\u0644 8 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c **5 \u0641\u0634\u0644\u062a \u0643\u0645\u0627 \u0647\u0648 \u0645\u062a\u0648\u0642\u0639**\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u062e\u062a\u0628\u0627\u0631\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a |\n\n\u0623\u0639\u064a\u062f \u0627\u0644\u062a\u062d\u0642\u0642 \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0642\u0644 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0645\u0646\u0633\u0642 \u0645\u0646 \u062e\u0627\u0631\u062c \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644:\n\n| \u0627\u0644\u0641\u062d\u0635 | \u0627\u0644\u062e\u0631\u0648\u062c | \u0627\u0644\u0646\u062a\u064a\u062c\u0629 |\n| --- | --- | --- |\n| \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 (`results\/checks\/T3-public.txt`) | 0 | 10 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c OK |\n| \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u062e\u0641\u064a\u0629 `03-checks\/test_t3_hidden.py` (`results\/checks\/T3-hidden.txt`) | 0 | \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u0646\u060c \u0646\u0627\u062c\u062d\u0627\u0646 |\n\n\u0641\u0634\u0644 \u0623\u062f\u0627\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u062e\u0641\u064a\u0629 (\u0627\u0644\u062e\u0631\u0648\u062c 1) \u0639\u0646\u062f \u0627\u062e\u062a\u0628\u0627\u0631 \u0646\u0633\u062e\u0629 \u0623\u0635\u0644\u064a\u0629 \u0645\u0646 \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u0627\u062a. \u0627\u0646\u0638\u0631\n`results\/checks\/validator-controls.md`.\n\n## \u062a\u063a\u0637\u064a\u0629 \u0633\u0644\u0648\u0643 \u062e\u0631\u064a\u0637\u0629 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0630\u0647\u0628\u064a\n\n\u062a\u0645 \u0627\u0633\u062a\u064a\u0641\u0627\u0621 \u062c\u0645\u064a\u0639 \u0627\u0644\u0633\u0644\u0648\u0643\u064a\u0627\u062a \u0627\u0644\u0623\u0631\u0628\u0639\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 \u0641\u064a `03-checks\/gold-map.json`:\n\n| \u0627\u0644\u0633\u0644\u0648\u0643 \u0627\u0644\u0645\u0637\u0644\u0648\u0628 | \u0627\u0644\u062f\u0644\u064a\u0644 |\n| --- | --- |\n| \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637 | \u062a\u0645 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0632\u064a\u0627\u062f\u0629 \u0639\u0644\u0649 \u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0627\u0644\u0628\u0633\u064a\u0637\u0629\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0631\u0628\u0637 \u0627\u0644\u0645\u0646\u0637\u0642\u0629\u061b \u062a\u0645 \u0627\u0644\u062a\u0623\u0643\u064a\u062f \u0639\u0644\u064a\u0647 \u0641\u064a \u0643\u0644 \u0627\u062e\u062a\u0628\u0627\u0631 \u0644\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a |\n| \u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0644\u0631\u0628\u064a\u0639\u064a | `test_spring_forward_keeps_requested_hour` \u2014 \u062a\u0645 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629 09:30\u060c \u0627\u0644\u0625\u0632\u0627\u062d\u0629 `-04:00`\u060c \u0627\u0644\u0645\u062f\u0629 \u0627\u0644\u0645\u0646\u0642\u0636\u064a\u0629 23 \u0633\u0627\u0639\u0629 |\n| \u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0644\u062e\u0631\u064a\u0641\u064a | `test_fall_back_keeps_requested_hour` \u2014 \u062a\u0645 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629 09:30\u060c \u0627\u0644\u0625\u0632\u0627\u062d\u0629 `-05:00`\u060c \u0627\u0644\u0645\u062f\u0629 \u0627\u0644\u0645\u0646\u0642\u0636\u064a\u0629 25 \u0633\u0627\u0639\u0629 |\n| \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0632\u0645\u0646\u064a\u0629 IANA | `ZoneInfo(\"America\/New_York\")` \u0645\u0646 \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 |\n\n\u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629\u060c \u063a\u0637\u0649 \u0627\u0644\u0645\u0634\u063a\u0644 \u0623\u064a\u0636\u064b\u0627 \u062d\u0627\u0644\u062a\u064a\u0646 \u062d\u062f\u064a\u062a\u064a\u0646 \u0645\u0646 PEP 495 \u2014 \u0648\u0642\u062a \u062d\u0642\u064a\u0642\u064a\n\u062a\u0645 \u062a\u062e\u0637\u064a\u0647 \u0628\u0633\u0628\u0628 \u0627\u0644\u062a\u0642\u062f\u0645 \u0641\u064a \u0627\u0644\u0631\u0628\u064a\u0639 \u0648\u0648\u0642\u062a \u062d\u0642\u064a\u0642\u064a \u063a\u0627\u0645\u0636 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u2014 \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u062f\u0648\u0631\u0627\u062a \u0645\u062f\u062a\u0647\u0627 \u0633\u0628\u0639\u0629 \u0623\u064a\u0627\u0645\n\u062a\u0645\u062a\u062f \u0639\u0628\u0631 \u0643\u0644 \u0627\u0646\u062a\u0642\u0627\u0644 \u0648\u0633\u0644\u0648\u0643 \u0627\u0644\u0625\u062f\u062e\u0627\u0644 \u0627\u0644\u0628\u0633\u064a\u0637.\n\n## \u0623\u062e\u0637\u0627\u0621 \u062a\u0645 \u062a\u0635\u062d\u064a\u062d\u0647\u0627\n\n\u0641\u0634\u0644\u0627\u0646 \u0630\u0627\u062a\u064a\u0627\u0646 \u0641\u064a \u062a\u0623\u0643\u064a\u062f\u0627\u062a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631: `following - previous` \u0639\u0644\u0649 \u062a\u0627\u0631\u064a\u062e\u064a\u0646 \u0648\u0648\u0642\u062a\u064a\u0646 \u064a\u0634\u062a\u0631\u0643\u0627\u0646 \u0641\u064a\n`tzinfo` \u064a\u0637\u0631\u062d \u0627\u0644\u0633\u0627\u0639\u0627\u062a \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u0627\u0644\u0633\u0627\u0630\u062c\u0629\u060c \u0644\u0630\u0627 \u0623\u0638\u0647\u0631\u062a \u062a\u0623\u0643\u064a\u062f\u0627\u062a \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0646\u0642\u0636\u064a 1 \u064a\u0648\u0645 \u0648\u0641\u0634\u0644\u062a.\n\u0643\u0627\u0646 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0635\u062d\u064a\u062d\u064b\u0627 \u0648\u0627\u0644\u062a\u062d\u0642\u0642\u0627\u062a \u062e\u0627\u0637\u0626\u0629\u061b \u062a\u0645 \u062a\u0635\u062d\u064a\u062d \u0630\u0644\u0643 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0633\u0627\u0639\u062f `_elapsed`\n\u0627\u0644\u0630\u064a \u064a\u062d\u0648\u0644 \u0643\u0644\u0627 \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u064a\u0646 \u0625\u0644\u0649 \u062a\u0648\u0642\u064a\u062a UTC \u0623\u0648\u0644\u0627\u064b. \u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u062e\u0637\u0627\u0621 \u0641\u064a \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0623\u0648 \u0627\u0644\u0627\u0633\u062a\u064a\u0631\u0627\u062f \u0623\u0648 \u0627\u0644\u0628\u064a\u0626\u0629.\n\u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 \u0628\u0642\u0627\u064a\u0627 `__pycache__` \u0628\u0639\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644.\n\n## \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0645\u0631\u0626\u064a\u0629 (\u062d\u0631\u0641\u064a\u0627\u064b)\n\n**\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u0644\u064a\u062f**\n\n\u062a\u0645 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 `scheduler\/time_rules.py::next_daily_run` \u0645\u0639 \u062a\u0627\u0631\u064a\u062e \u0648\u0648\u0642\u062a `America\/New_York` \u0639\u0644\u0649 \u062c\u0627\u0646\u0628\u064a \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a \u0644\u0639\u0627\u0645 2024:\n\n```\n2024-03-09T09:30:00-05:00 -&gt; 2024-03-10T10:30:00-04:00   \u0627\u0646\u062d\u0631\u0627\u0641 \u0627\u0644\u0633\u0627\u0639\u0629 \u0628\u0645\u0642\u062f\u0627\u0631 +1\n2024-11-02T09:30:00-04:00 -&gt; 2024-11-03T08:30:00-05:00   # \u0627\u0646\u062d\u0631\u0627\u0641 \u0627\u0644\u0633\u0627\u0639\u0629 \u0628\u0645\u0642\u062f\u0627\u0631 -1\n```\n\n\u062a\u0645 \u062a\u0634\u063a\u064a\u0644 \u0645\u0647\u0645\u0629 \u0645\u0637\u0644\u0648\u0628\u0629 \u0641\u064a \u0627\u0644\u0633\u0627\u0639\u0629 09:30 \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0645\u062d\u0644\u064a \u0641\u064a \u0627\u0644\u0633\u0627\u0639\u0629 10:30 \u0628\u0639\u062f \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0644\u0631\u0628\u064a\u0639\u060c \u0648\u0641\u064a \u0627\u0644\u0633\u0627\u0639\u0629 08:30 \u0628\u0639\u062f \u062a\u0623\u062e\u064a\u0631 \u0627\u0644\u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0644\u062e\u0631\u064a\u0641.\n\n**\u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u062c\u0630\u0631\u064a**\n\n\u062a\u0639\u0627\u0645\u0644\u062a \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0623\u0648\u0644\u064a\u0629 \u0645\u0646 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0645\u0639 \"daily\" \u0639\u0644\u0649 \u0623\u0646\u0647\u0627 \u0645\u062f\u0629 \u0645\u0637\u0644\u0642\u0629 \u062b\u0627\u0628\u062a\u0629:\n\n```python\nelapsed = previous_run.astimezone(timezone.utc) + timedelta(hours=24)\nreturn elapsed.astimezone(previous_run.tzinfo)\n```\n\n\u064a\u0624\u062f\u064a \u0627\u0644\u062a\u062d\u0648\u064a\u0644 \u0625\u0644\u0649 \u062a\u0648\u0642\u064a\u062a UTC \u0623\u0648\u0644\u064b\u0627 \u0625\u0644\u0649 \u062c\u0639\u0644 `timedelta(hours=24)` \u064a\u0633\u0627\u0648\u064a \u0628\u0627\u0644\u0636\u0628\u0637 24 \u0633\u0627\u0639\u0629 \u0645\u0646\u0642\u0636\u064a\u0629. \u0644\u0643\u0646 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u062a\u0642\u0648\u064a\u0645\u064a \u0627\u0644\u0645\u062d\u0644\u064a \u0641\u064a \u0645\u0646\u0637\u0642\u0629 IANA \u064a\u0628\u0644\u063a 23 \u0633\u0627\u0639\u0629 \u0641\u064a \u064a\u0648\u0645 \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u0633\u0627\u0639\u0629 \u064825 \u0633\u0627\u0639\u0629 \u0641\u064a \u064a\u0648\u0645 \u062a\u0623\u062e\u064a\u0631\u0647\u0627\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0627\u0644\u0625\u0632\u0627\u062d\u0629 \u0627\u0644\u062b\u0627\u0628\u062a\u0629 \u0627\u0644\u0628\u0627\u0644\u063a\u0629 24 \u0633\u0627\u0639\u0629 \u062a\u0624\u062f\u064a \u0628\u0627\u0644\u0636\u0631\u0648\u0631\u0629 \u0625\u0644\u0649 \u0627\u062e\u062a\u0644\u0627\u0641 \u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629 \u0639\u0646 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0637\u0644\u0648\u0628 \u0648\u0641\u0642\u064b\u0627 \u0644\u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637\u064a\u0629.\n\n**\u0627\u0644\u062d\u0644** (`scheduler\/time_rules.py`)\n\n\u0627\u0644\u062a\u0643\u0631\u0627\u0631 \u0627\u0644\u064a\u0648\u0645\u064a \u0647\u0648 \u0642\u0627\u0639\u062f\u0629 \u062a\u0642\u0648\u064a\u0645\u064a\u0629\u060c \u0644\u0630\u0627 \u064a\u062a\u0645 \u0627\u0644\u0622\u0646 \u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0632\u064a\u0627\u062f\u0629 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637\u064a\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0627\u0644\u0628\u0633\u064a\u0637\u0629\u060c \u0645\u0639 \u0625\u0639\u0627\u062f\u0629 \u0631\u0628\u0637 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0628\u0639\u062f \u0630\u0644\u0643:\n\n```python\ntzinfo = previous_run.tzinfo\nnaive_next = previous_run.replace(tzinfo=None) + timedelta(days=1)\nif tzinfo is None:\n    return naive_next\ncandidate = naive_next.replace(tzinfo=tzinfo, fold=0)\nreturn candidate.astimezone(timezone.utc).astimezone(tzinfo)\n```\n\n\u0644\u0645\u0627\u0630\u0627 \u064a\u0639\u062a\u0628\u0631 \u0647\u0630\u0627 \u0635\u062d\u064a\u062d\u064b\u0627:\n- \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637 \u0639\u0644\u0649 \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0645\u0633\u062a\u0642\u0644\u0629 \u0639\u0646 \u0627\u0644\u0625\u0632\u0627\u062d\u0629\u060c \u0644\u0630\u0627 \u064a\u062a\u0645 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629 \u0648\u0627\u0644\u062f\u0642\u064a\u0642\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u062a\u064a\u0646 \u0628\u062d\u0643\u0645 \u0627\u0644\u0628\u0646\u064a\u0629\u061b \u062b\u0645 \u062a\u0648\u0641\u0631 `zoneinfo` \u0627\u0644\u0641\u0627\u0631\u0642 \u0627\u0644\u0632\u0645\u0646\u064a \u0639\u0646 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u0646\u0633\u0642 (UTC) \u0627\u0644\u0633\u0627\u0631\u064a \u0641\u064a \u0627\u0644\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u062c\u062f\u064a\u062f (\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642: `-04:00` \u0628\u0639\u062f \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0644\u0631\u0628\u064a\u0639\u060c \u0648`-05:00` \u0628\u0639\u062f \u062a\u0623\u062e\u064a\u0631 \u0627\u0644\u0633\u0627\u0639\u0629 \u0641\u064a \u0627\u0644\u062e\u0631\u064a\u0641\u060c \u0648\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a \u0627\u0644\u0645\u0646\u0642\u0636\u064a 23 \u0633\u0627\u0639\u0629 \u064825 \u0633\u0627\u0639\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0627\u0644\u064a).\n- `fold=0` \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0631\u062d\u0644\u0629 \u0627\u0644\u0630\u0647\u0627\u0628 \u0648\u0627\u0644\u0625\u064a\u0627\u0628 \u0641\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u0646\u0633\u0642 (UTC) \u062a\u0639\u0627\u0644\u062c \u0627\u0644\u062d\u0627\u0644\u062a\u064a\u0646 \u0627\u0644\u0627\u0633\u062a\u062b\u0646\u0627\u0626\u064a\u062a\u064a\u0646 \u0627\u0644\u0644\u062a\u064a\u0646 \u062a\u062a\u0631\u0643\u0647\u0645\u0627 \u0627\u0644\u062d\u0633\u0627\u0628\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0627\u0626\u0637\u064a\u0629 \u063a\u064a\u0631 \u0645\u062d\u062f\u062f\u062a\u064a\u0646 \u0628\u0634\u0643\u0644 \u0648\u0627\u0636\u062d. \u0628\u0645\u0648\u062c\u0628 PEP 495\u060c \u0641\u0625\u0646 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u062d\u0627\u0626\u0637\u064a *\u0627\u0644\u0645\u062a\u062e\u0637\u0649* (02:30 \u0641\u064a 2024-03-10) \u064a\u0643\u0648\u0646 \u0644\u0647 \u0641\u0627\u0631\u0642 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0642\u0628\u0644 \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0639\u0646\u062f `fold=0`\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0630\u0647\u0627\u0628 \u0648\u0627\u0644\u0625\u064a\u0627\u0628 \u062a\u0639\u064a\u062f\u0647 \u0625\u0644\u0649 \u0627\u0644\u0644\u062d\u0638\u0629 \u0627\u0644\u0641\u0639\u0644\u064a\u0629 03:30 \u0628\u062a\u0648\u0642\u064a\u062a \u0634\u0631\u0642 \u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629 (EDT) \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0625\u0631\u062c\u0627\u0639 \u062a\u0627\u0631\u064a\u062e \u0648\u0648\u0642\u062a \u0644\u0627 \u064a\u062d\u062f\u062f\u0627\u0646 \u0644\u062d\u0638\u0629 \u0645\u0639\u064a\u0646\u0629. \u0623\u0645\u0627 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u062d\u0642\u064a\u0642\u064a *\u0627\u0644\u063a\u0627\u0645\u0636* (01:30 \u0641\u064a 2024-11-03) \u0641\u064a\u062a\u0645 \u062a\u062d\u062f\u064a\u062f\u0647 \u0628\u0634\u0643\u0644 \u062d\u062a\u0645\u064a \u0625\u0644\u0649 \u0623\u0648\u0644 \u0638\u0647\u0648\u0631 \u0644\u0647 (EDT) \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0639\u0634\u0648\u0627\u0626\u064a\u0627\u064b.\n- \u062a\u062d\u062a\u0641\u0638 \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0628\u0645\u0639\u0646\u0627\u0647\u0627 \u0627\u0644\u0633\u0627\u0628\u0642 (\u064a\u0648\u0645 \u062a\u0642\u0648\u064a\u0645\u064a \u0648\u0627\u062d\u062f \u0625\u0636\u0627\u0641\u064a) \u2014 \u0648\u0644\u0627 \u064a\u064f\u0641\u0631\u0636 \u0623\u064a \u0645\u062a\u0637\u0644\u0628\u0627\u062a \u062c\u062f\u064a\u062f\u0629 \u0644\u0640 `tzinfo` \u0639\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u062f\u0639\u064a\u0646.\n\n\u062a\u0645 \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0636\u064a\u0642\u064b\u0627: \u0644\u0645 \u064a\u062a\u063a\u064a\u0631 \u0633\u0648\u0649 \u0646\u0635\/\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u062b\u064a\u0642 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640 `next_daily_run`. \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0645\u0633\u0627\u0633 \u0628\u0640 `service.py` \u0648`models.py` \u0648`repository.py` \u0648`__init__.py`\u060c \u0648\u0644\u0645 \u062a\u064f\u0636\u0627\u0641 \u0623\u064a \u0645\u0644\u0641\u0627\u062a \u062c\u062f\u064a\u062f\u0629\u060c \u0648\u0644\u0627 \u064a\u0632\u0627\u0644 \u0628\u064a\u0627\u0646 \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u0627\u062a \u0645\u062a\u0637\u0627\u0628\u0642\u064b\u0627 \u062a\u0645\u0627\u0645\u064b\u0627 (\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0644\u0641\u0627\u062a \u0645\u0641\u0642\u0648\u062f\u0629 \u0623\u0648 \u063a\u064a\u0631 \u0645\u062a\u0648\u0642\u0639\u0629). \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0641\u0642\u0637 (`datetime`\u060c `zoneinfo`\u060c `unittest`).\n\n**\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0631\u0627\u062c\u0639** (`tests\/test_scheduler.py`\u060c `NextDailyRunTests` \u0627\u0644\u062c\u062f\u064a\u062f\u060c 8 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a) \u062a\u063a\u0637\u064a: \u0627\u0644\u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0641\u064a \u0627\u0644\u0623\u064a\u0627\u0645 \u0627\u0644\u0639\u0627\u062f\u064a\u0629\u060c \u0633\u0627\u0639\u0629 \u0627\u0644\u062a\u0642\u062f\u0645 \u0627\u0644\u0631\u0628\u064a\u0639\u064a + \u0627\u0644\u0625\u0632\u0627\u062d\u0629 + \u0645\u0631\u0648\u0631 23 \u0633\u0627\u0639\u0629\u060c \u0633\u0627\u0639\u0629 \u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u0627\u0644\u062e\u0631\u064a\u0641\u064a + \u0627\u0644\u0625\u0632\u0627\u062d\u0629 + \u0645\u0631\u0648\u0631 25 \u0633\u0627\u0639\u0629\u060c \u062f\u0648\u0631\u0627\u062a \u0645\u062f\u062a\u0647\u0627 \u0633\u0628\u0639\u0629 \u0623\u064a\u0627\u0645 \u062a\u0645\u062a\u062f \u0639\u0628\u0631 \u0643\u0644 \u0627\u0646\u062a\u0642\u0627\u0644\u060c \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a \u0627\u0644\u0645\u064f\u062a\u062e\u0637\u0649\u060c \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a \u0627\u0644\u063a\u0627\u0645\u0636\u060c \u0648\u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629.\n\n\u0645\u0644\u0627\u062d\u0638\u062a\u0627\u0646 \u062c\u062f\u064a\u0631\u062a\u0627\u0646 \u0628\u0627\u0644\u062a\u0633\u062c\u064a\u0644. \u0623\u0648\u0644\u064b\u0627\u060c \u0627\u0633\u062a\u062e\u062f\u0645\u062a \u062a\u0623\u0643\u064a\u062f\u0627\u062a\u064a \u0627\u0644\u0623\u0648\u0644\u064a\u0629 \u0644\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0646\u0642\u0636\u064a `following - previous`\u061b \u062d\u064a\u062b \u064a\u062a\u062c\u0627\u0647\u0644 Python `tzinfo` \u0627\u0644\u0645\u0634\u062a\u0631\u0643 \u0648\u064a\u0637\u0631\u062d \u0627\u0644\u0633\u0627\u0639\u0627\u062a \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u0627\u0644\u0633\u0627\u0630\u062c\u0629\u060c \u0644\u0630\u0627 \u0639\u0627\u062f \u0643\u0644\u0627\u0647\u0645\u0627 \u0628\u0642\u064a\u0645\u0629 \u064a\u0648\u0645 \u0648\u0627\u062d\u062f \u0648\u0641\u0634\u0644. \u0643\u0627\u0646 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0635\u062d\u064a\u062d\u064b\u0627 \u0648\u0627\u0644\u062a\u0623\u0643\u064a\u062f\u0627\u062a \u062e\u0627\u0637\u0626\u0629 \u2014 \u062a\u0645 \u0625\u0635\u0644\u0627\u062d \u0630\u0644\u0643 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0633\u0627\u0639\u062f `_elapsed` \u0627\u0644\u0630\u064a \u064a\u062d\u0648\u0644 \u0643\u0644\u0627 \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u064a\u0646 \u0625\u0644\u0649 \u062a\u0648\u0642\u064a\u062a UTC. \u062b\u0627\u0646\u064a\u064b\u0627\u060c \u062a\u062d\u0642\u0642\u062a \u0645\u0646 \u0623\u0646 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u062a\u0643\u062a\u0634\u0641 \u0628\u0627\u0644\u0641\u0639\u0644 \u0627\u0644\u062e\u0644\u0644 \u0627\u0644\u0623\u0635\u0644\u064a \u0639\u0646 \u0637\u0631\u064a\u0642 \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 `NextDailyRunTests` \u0639\u0644\u0649 \u0646\u0633\u062e\u0629 \u0641\u064a \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0645\u0646 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0645\u0632\u0648\u062f \u0628\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0623\u0648\u0644\u064a\u0629: \u0641\u0634\u0644\u062a 5 \u0645\u0646 \u0623\u0635\u0644 8 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u062e\u062a\u0628\u0627\u0631\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a (DST). \u0623\u0645\u0627 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062b\u0644\u0627\u062b\u0629 \u0627\u0644\u062a\u064a \u0646\u062c\u062d\u062a \u0641\u064a \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0630\u064a \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0627\u0644\u062e\u0644\u0644 (\u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u0639\u0627\u062f\u064a\u060c \u0648\u0627\u0644\u062a\u062e\u0637\u064a\u060c \u0648\u0627\u0644\u063a\u0645\u0648\u0636) \u0641\u0647\u064a \u062a\u0648\u062b\u0642 \u0627\u0644\u0633\u0644\u0648\u0643 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0643\u062a\u0634\u0627\u0641 \u0627\u0644\u0627\u0646\u062d\u062f\u0627\u0631 \u2014 \u0648\u062a\u062a\u0641\u0642 \u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u062e\u0637\u064a\/\u0627\u0644\u063a\u0645\u0648\u0636 \u0635\u062f\u0641\u0629\u064b \u0644\u0623\u0646 \u0627\u0644\u0625\u0632\u0627\u062d\u0629 \u0627\u0644\u0645\u0637\u0644\u0642\u0629 \u0627\u0644\u0628\u0627\u0644\u063a\u0629 +24 \u0633\u0627\u0639\u0629 \u062a\u0635\u0627\u062f\u0641 \u0623\u0646 \u062a\u0642\u0639 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u0644\u062d\u0638\u0629 \u0627\u0644\u0645\u0639\u064a\u0627\u0631\u064a\u0629.\n<\/pre><\/div><\/details><\/div><p class=\"d-limit\">\u0642\u064a\u0648\u062f \u0627\u0644\u0646\u0638\u0627\u0645: \u0643\u0627\u0646 \u0647\u0630\u0627 \u0645\u0633\u062a\u0648\u062f\u0639\u064b\u0627 \u0635\u063a\u064a\u0631\u064b\u0627 \u0644\u0640 Python \u064a\u0639\u0645\u0644 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a. \u0627\u0633\u062a\u062e\u062f\u0645 Claude \u0648\u0643\u064a\u0644\u064b\u0627 \u0641\u0631\u0639\u064a\u064b\u0651\u0627 \u0643\u062d\u0644 \u0628\u062f\u064a\u0644 \u0628\u0639\u062f \u0627\u0646\u062a\u0647\u0627\u0621 \u0635\u0644\u0627\u062d\u064a\u0629 OAuth \u0639\u0628\u0631 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI)\u060c \u0644\u0630\u0627 \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0639\u0632\u0644 \u0648\u0631\u0624\u064a\u0629 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0645\u064a\u0632 \u0645\u062a\u0637\u0627\u0628\u0642\u062a\u064a\u0646.<\/p><\/article>\n\n\n\n<h2 id=\"code-review\" class=\"wp-block-heading\">\u062c\u0648\u062f\u0629 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f \u0648\u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0628\u0634\u0631\u064a<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u062a\u0637\u0644\u0628 \u0645\u0647\u0627\u0645 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f \u0645\u0647\u0627\u0631\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629 \u0639\u0646 \u062a\u0644\u0643 \u0627\u0644\u0644\u0627\u0632\u0645\u0629 \u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0645\u064a\u0632\u0627\u062a. \u064a\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u0645\u0631\u0627\u062c\u0639 \u0627\u0644\u062c\u064a\u062f \u0623\u0646 \u064a\u0643\u062a\u0634\u0641 \u0627\u0644\u0645\u0634\u0643\u0644\u0627\u062a \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u0643\u0631\u0627\u0631\u060c \u0648\u064a\u0635\u0646\u0641 \u062a\u0623\u062b\u064a\u0631\u0647\u0627\u060c \u0648\u064a\u0634\u064a\u0631 \u0625\u0644\u0649 \u0645\u0633\u0627\u0631 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u062f\u0642\u064a\u0642\u060c \u0648\u064a\u0645\u064a\u0632 \u0628\u064a\u0646 \u0627\u0644\u0639\u064a\u0628 \u0627\u0644\u062d\u0642\u064a\u0642\u064a \u0648\u0627\u0644\u062a\u062d\u0630\u064a\u0631 \u0627\u0644\u062a\u062e\u0645\u064a\u0646\u064a. \u0648\u064a\u064f\u0636\u0627\u0641 \u0627\u062e\u062a\u0628\u0627\u0631 \u0622\u062e\u0631 \u0639\u0646\u062f \u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0645\u0634\u0643\u0644\u0629: \u064a\u062c\u0628 \u0623\u0644\u0627 \u064a\u062a\u0633\u0628\u0628 \u0627\u0644\u062a\u0635\u062d\u064a\u062d \u0641\u064a \u062d\u062f\u0648\u062b \u062a\u0631\u0627\u062c\u0639 \u062c\u062f\u064a\u062f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0643\u0627\u0646 \u0644\u062f\u0649 \u00abClaude Code\u00bb \u0627\u0644\u0623\u0641\u0636\u0644\u064a\u0629 \u0627\u0644\u0623\u0643\u062b\u0631 \u0648\u0636\u0648\u062d\u064b\u0627 \u0641\u064a T4. \u0648\u0642\u062f \u0623\u0628\u0644\u063a\u062a \u0639\u0646 \u062e\u0645\u0633\u0629 \u0627\u0643\u062a\u0634\u0627\u0641\u0627\u062a \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u0643\u0631\u0627\u0631 \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0642\u0644\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0647\u062f\u0641\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0632\u0631\u0648\u0639\u064a\u0646\u060c \u0648\u062d\u0635\u0644\u062a \u0639\u0644\u0649 19\/20. \u0623\u0645\u0627 Codex \u0641\u0642\u062f \u0623\u0628\u0644\u063a\u062a \u0639\u0646 \u0639\u064a\u0628\u064a\u0646 \u0635\u0627\u0644\u062d\u064a\u0646 \u0645\u0646 \u0627\u0644\u062f\u0631\u062c\u0629 \u0627\u0644\u0623\u0639\u0644\u0649 \u0641\u064a \u0627\u0644\u062e\u0637\u0648\u0631\u0629 \u0648\u0642\u0627\u0645\u062a \u0628\u0625\u0635\u0644\u0627\u062d\u0647\u0645\u0627\u060c \u0644\u0643\u0646\u0647\u0627 \u0644\u0645 \u062a\u0630\u0643\u0631 \u0627\u0644\u0632\u0648\u062c \u0627\u0644\u0645\u0632\u0631\u0648\u0639\u060c \u0648\u062d\u0635\u0644\u062a \u0639\u0644\u0649 18\/20. \u0644\u0645 \u062a\u0643\u0646 \u0627\u0643\u062a\u0634\u0627\u0641\u0627\u062a Codex \u0646\u062a\u0627\u0626\u062c \u0625\u064a\u062c\u0627\u0628\u064a\u0629 \u062e\u0627\u0637\u0626\u0629\u061b \u0628\u0644 \u0643\u0627\u0646 \u0627\u0644\u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u0644\u0645\u0644\u062d\u0648\u0638 \u064a\u062a\u0639\u0644\u0642 \u0628\u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u063a\u0637\u064a\u0629 \u0648\u0644\u064a\u0633 \u0628\u0627\u0644\u0635\u062d\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629.<\/p>\n\n\n\n<style>\n.evidence-t4-review-and-repair{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}\n.evidence-t4-review-and-repair *{box-sizing:border-box}.evidence-t4-review-and-repair .d-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 26px 20px;border-bottom:1px solid var(--line)}\n.evidence-t4-review-and-repair .d-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.evidence-t4-review-and-repair .d-title{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.evidence-t4-review-and-repair .d-sub{margin:7px 0 0;color:var(--body);font-size:13px}.evidence-t4-review-and-repair .d-pill{flex:0 0 auto;padding:6px 10px;border:1px solid #ccd6ff;border-radius:999px;color:#2448ca;background:#f0f3ff;font-size:11px;font-weight:800}.evidence-t4-review-and-repair .d-grid{display:grid;grid-template-columns:1fr 1fr}.evidence-t4-review-and-repair .d-side{min-width:0;padding:24px 26px}.evidence-t4-review-and-repair .d-side+.d-side{border-left:1px solid var(--line)}.evidence-t4-review-and-repair .d-product{display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-weight:800}.evidence-t4-review-and-repair .d-score{font-size:34px;line-height:1;letter-spacing:-.05em}.evidence-t4-review-and-repair .d-score small{color:var(--muted);font-size:12px;letter-spacing:0}.evidence-t4-review-and-repair .d-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:18px 0}.evidence-t4-review-and-repair .d-metric{padding:10px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.evidence-t4-review-and-repair .d-metric span{display:block;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.evidence-t4-review-and-repair .d-metric strong{display:block;margin-top:3px;font-size:13px}.evidence-t4-review-and-repair .d-preview{position:relative;height:192px;overflow:hidden;border:1px solid #29313f;border-radius:6px;background:#11151d;color:#edf0f5}.evidence-t4-review-and-repair .d-preview-label{padding:11px 13px;border-bottom:1px solid rgba(255,255,255,.1);color:#aeb7c7;font:750 9px\/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.06em;text-transform:uppercase}.evidence-t4-review-and-repair .d-preview pre,.evidence-t4-review-and-repair .d-full pre{margin:0;white-space:pre-wrap;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.evidence-t4-review-and-repair .d-preview pre{padding:13px}.evidence-t4-review-and-repair .d-preview:after{content:\"\";position:absolute;left:0;right:0;bottom:0;height:55px;background:linear-gradient(transparent,#11151d)}.evidence-t4-review-and-repair .d-take{margin:14px 0 0;color:var(--body);font-size:12px}.evidence-t4-review-and-repair .d-fulls{padding:0 26px 22px}.evidence-t4-review-and-repair .d-full{margin-top:10px;border:1px solid var(--line);border-radius:6px}.evidence-t4-review-and-repair .d-full summary{cursor:pointer;padding:13px 14px;font-size:12px;font-weight:800;list-style:none}.evidence-t4-review-and-repair .d-full summary::-webkit-details-marker{display:none}.evidence-t4-review-and-repair .d-full summary:after{content:\"+\";float:right;color:var(--blue);font-size:17px}.evidence-t4-review-and-repair .d-full[open] summary:after{content:\"\u2212\"}.evidence-t4-review-and-repair .d-full-pane{padding:0 14px 14px}.evidence-t4-review-and-repair .d-full-note{margin:0 0 9px;color:var(--muted);font-size:10px}.evidence-t4-review-and-repair .d-full pre{max-height:620px;overflow:auto;padding:15px;border-radius:5px;background:#f5f6f8;color:#222936;border:1px solid #e0e3e8}.evidence-t4-review-and-repair .d-limit{margin:0;padding:12px 26px;border-top:1px solid var(--line);color:#5a6270;background:#fafbfc;font-size:11px}\n@media(max-width:760px){.evidence-t4-review-and-repair .d-head{display:block}.evidence-t4-review-and-repair .d-pill{display:inline-block;margin-top:12px}.evidence-t4-review-and-repair .d-grid{grid-template-columns:1fr}.evidence-t4-review-and-repair .d-side+.d-side{border-left:0;border-top:1px solid var(--line)}}@media(max-width:480px){.evidence-t4-review-and-repair .d-head,.evidence-t4-review-and-repair .d-side{padding:20px}.evidence-t4-review-and-repair .d-fulls{padding:0 20px 20px}.evidence-t4-review-and-repair .d-metrics{grid-template-columns:1fr}}\n<\/style><article class=\"evidence-t4-review-and-repair\"><header class=\"d-head\"><div><p class=\"d-kicker\">T4 \u00b7 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629<\/p><h3 class=\"d-title\">\u0627\u0643\u062a\u0634\u0627\u0641 \u0627\u0644\u0639\u064a\u0648\u0628 \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u0643\u0631\u0627\u0631 \u0648\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0634\u0643\u0644\u0627\u062a \u0630\u0627\u062a \u0627\u0644\u062b\u0642\u0629 \u0627\u0644\u0623\u0639\u0644\u0649<\/h3><p class=\"d-sub\">\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u0625\u0646\u062a\u0627\u062c \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0641\u0639\u0644\u064a\u0629\u060c \u0648\u062a\u0637\u0628\u064a\u0642 \u0627\u0644\u0625\u0635\u0644\u0627\u062d\u0627\u062a \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627\u060c \u0648\u0625\u062b\u0628\u0627\u062a \u0623\u0646 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u062a\u062b\u0628\u062a \u0627\u0633\u062a\u0642\u0631\u0627\u0631 \u0627\u0644\u0633\u0644\u0648\u0643.<\/p><\/div><span class=\"d-pill\">\u062d\u0627\u0641\u0629 \u0627\u0644\u062a\u063a\u0637\u064a\u0629 Claude<\/span><\/header><div class=\"d-grid\"><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0643\u0648\u062f\u0643\u0633\"><div class=\"d-product\"><span>\u0643\u0648\u062f\u0643\u0633<\/span><span class=\"d-score\">18<small>\/20<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>223 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>4 \u0646\u0627\u062c\u062d\u0648\u0646<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>2 \u062a\u0645 \u0625\u0635\u0644\u0627\u062d\u0647\u0645\u0627<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>1. \u0639\u0627\u0644\u064a\u0629 \u2014 \u0642\u062f \u064a\u062a\u0645 \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u062f\u0648\u0646 \u0633\u0627\u0628\u0642 \u0625\u0646\u0630\u0627\u0631.\n\n2. \u0645\u062a\u0648\u0633\u0637\u0629 \u2014 \u062d\u062f\u062b \u0627\u0646\u062d\u0631\u0627\u0641 \u0641\u064a \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u064a\u0648\u0645\u064a\u0629 \u062e\u0644\u0627\u0644 \u0641\u062a\u0631\u0627\u062a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a.\n\n\u0627\u0644\u062a\u062d\u0642\u0642: \u0627\u062c\u062a\u064a\u0627\u0632 \u0623\u0631\u0628\u0639\u0629 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c \u062f\u0648\u0646 \u0623\u064a \u0625\u062e\u0641\u0627\u0642\u0627\u062a.<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u0646\u062a\u0627\u0626\u062c \u0645\u0641\u064a\u062f\u0629 \u0630\u0627\u062a \u062f\u0631\u062c\u0629 \u062e\u0637\u0648\u0631\u0629 \u0623\u0639\u0644\u0649 \u0648\u0625\u0635\u0644\u0627\u062d\u0627\u062a \u0645\u062d\u062f\u062f\u0629\u060c \u0644\u0643\u0646\u0647\u0627 \u0644\u0645 \u062a\u062d\u0642\u0642 \u0647\u062f\u0641\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u062d\u062f\u062f\u064a\u0646 \u0645\u0633\u0628\u0642\u064b\u0627.<\/p><\/section><section class=\"d-side\" aria-label=\"\u0646\u062a\u064a\u062c\u0629 \u0631\u0645\u0632 Claude\"><div class=\"d-product\"><span>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><span class=\"d-score\">19<small>\/20<\/small><\/span><\/div><div class=\"d-metrics\"><div class=\"d-metric\"><span>\u0627\u0644\u0645\u062f\u0629<\/span><strong>235 \u062b\u0627\u0646\u064a\u0629<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0634\u064a\u0643\u0627\u062a<\/span><strong>\u062a\u0645 \u0627\u062c\u062a\u064a\u0627\u0632 9<\/strong><\/div><div class=\"d-metric\"><span>\u0627\u0644\u0646\u0637\u0627\u0642<\/span><strong>\u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646 5 \u062d\u0627\u0644\u0627\u062a<\/strong><\/div><\/div><div class=\"d-preview\"><div class=\"d-preview-label\">\u0645\u0642\u062a\u0637\u0641 \u0645\u0646 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u0648\u0644<\/div><pre>D1 \u0627\u0646\u062d\u0631\u0627\u0641 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a (DST) \u00b7 \u0645\u0631\u062a\u0641\u0639\nD2 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0632\u0645\u0646\u064a\u0629 \u0628\u0637\u0631\u064a\u0642\u0629 \u0628\u0633\u064a\u0637\u0629 \u00b7 \u0645\u062a\u0648\u0633\u0637\nD3 \u062a\u0636\u0627\u0631\u0628 \u0627\u0644\u0645\u0639\u0631\u0651\u0641\u0627\u062a \u00b7 \u0645\u0631\u062a\u0641\u0639\nD4 \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0639\u0645\u0644\u064a\u0629 \u062d\u0630\u0641 \u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u0638\u0647\u0648\u0631 \u062e\u0637\u0623 KeyError \u00b7 \u0645\u062a\u0648\u0633\u0637\nD5 \u0639\u062f\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 \u0627\u0644\u0645\u0627\u0644\u0643 \u00b7 \u0645\u0646\u062e\u0641\u0636<\/pre><\/div><p class=\"d-take\"><strong>\u0631\u0623\u064a \u0627\u0644\u0645\u0631\u0627\u062c\u0639:<\/strong> \u062a\u063a\u0637\u064a\u0629 \u0645\u0631\u0627\u062c\u0639\u0629 \u0623\u0648\u0633\u0639 \u0646\u0637\u0627\u0642\u064b\u0627 \u062f\u0648\u0646 \u0623\u064a \u062d\u0627\u0644\u0627\u062a \u0625\u064a\u062c\u0627\u0628\u064a\u0629 \u0643\u0627\u0630\u0628\u0629 \u0645\u062a\u0643\u0631\u0631\u0629\u061b \u0648\u0644\u0645 \u064a\u062a\u0645 \u062a\u0635\u062d\u064a\u062d \u0646\u062a\u064a\u062c\u062a\u064a\u0646 \u0645\u0631\u062a\u0628\u0637\u062a\u064a\u0646 \u0628\u0627\u0644\u0639\u0642\u062f.<\/p><\/section><\/div><div class=\"d-fulls\"><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0640 Codex<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0623\u0648\u0644 \u0627\u0644\u0635\u062d\u064a\u062d \u0648\u0627\u0644\u0645\u064f\u0639\u0642\u064e\u0651\u0645 \u0628\u0627\u0644\u0643\u0627\u0645\u0644<\/p><pre>## \u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0627\u0644\u062a\u064a \u062a\u0633\u062a\u062f\u0639\u064a \u0627\u062a\u062e\u0627\u0630 \u0625\u062c\u0631\u0627\u0621\u0627\u062a\n\n1. **\u0645\u0633\u062a\u0648\u0649 \u062e\u0637\u0648\u0631\u0629 \u0645\u0631\u062a\u0641\u0639 \u2014 \u0642\u062f \u064a\u062a\u0645 \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u062f\u0648\u0646 \u0625\u0634\u0639\u0627\u0631**\n\n   - \u0627\u0644\u062f\u0644\u064a\u0644: \u062a\u0647\u064a\u0626\u0629 \u0627\u0644\u0645\u0639\u0631\u0641 \u0641\u064a [service.py](.\/scheduler\/service.py:8)\u060c \u0645\u0642\u062a\u0631\u0646\u0629 \u0628\u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0642\u0627\u0645\u0648\u0633 \u0641\u064a [repository.py](.\/scheduler\/repository.py:9).\n   - \u0627\u0644\u062a\u0623\u062b\u064a\u0631: \u0625\u0646\u0634\u0627\u0621 \u062e\u062f\u0645\u0629 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0633\u062a\u0648\u062f\u0639 \u0645\u0648\u062c\u0648\u062f \u0642\u062f \u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u0625\u0639\u0627\u062f\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u0639\u0631\u0651\u0641 `1`\u060c \u0645\u0645\u0627 \u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u062e\u0632\u0646\u0629 \u0648\u0641\u0642\u062f\u0627\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a.\n   - \u0625\u0639\u0627\u062f\u0629 \u0625\u0646\u062a\u0627\u062c \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649: \u0627\u062d\u0641\u0638 `Job(1, ...)`\u060c \u0648\u0623\u0646\u0634\u0626 `SchedulerService(repository)`\u060c \u062b\u0645 \u0623\u0646\u0634\u0626 \u0645\u0647\u0645\u0629 \u0623\u062e\u0631\u0649. \u0642\u0628\u0644 \u0627\u0644\u0625\u0635\u0644\u0627\u062d\u060c \u0628\u0642\u064a\u062a \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 \u0641\u0642\u0637.\n   - \u0627\u0644\u0625\u0635\u0644\u0627\u062d: \u062a\u0647\u064a\u0626\u0629 \u0627\u0644\u0645\u0639\u0631\u0641 \u0627\u0644\u062a\u0627\u0644\u064a \u0627\u0646\u0637\u0644\u0627\u0642\u064b\u0627 \u0645\u0646 \u0623\u0639\u0644\u0649 \u0645\u0639\u0631\u0641 \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639.\n   - \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0631\u0627\u062c\u0639: [test_scheduler.py](.\/tests\/test_scheduler.py:22).\n\n2. **\u0645\u062a\u0648\u0633\u0637 \u2014 \u0627\u0646\u062d\u0631\u0627\u0641 \u0645\u0648\u0627\u0639\u064a\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u064a\u0648\u0645\u064a\u0629 \u0639\u0646\u062f \u0627\u0646\u062a\u0642\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a**\n\n   - \u0627\u0644\u062f\u0644\u064a\u0644: \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u062d\u0633\u0627\u0628 \u0641\u064a [time_rules.py](.\/scheduler\/time_rules.py:4).\n   - \u0627\u0644\u062a\u0623\u062b\u064a\u0631: \u062a\u0645 \u062a\u0634\u063a\u064a\u0644 \u0645\u0647\u0645\u0629 \u064a\u0648\u0645\u064a\u0629 \u0645\u062c\u062f\u0648\u0644\u0629 \u0641\u064a \u0627\u0644\u0633\u0627\u0639\u0629 09:00 \u0641\u064a \u0627\u0644\u0633\u0627\u0639\u0629 10:00 \u0628\u0639\u062f \u0627\u0646\u062a\u0642\u0627\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a \u0641\u064a \u0627\u0644\u0631\u0628\u064a\u0639.\n   - \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0648\u0644\u064a\u062f: \u0627\u062d\u0633\u0628 \u0645\u0648\u0639\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u062a\u0627\u0644\u064a \u0628\u0639\u062f `2026-03-07 09:00 America\/New_York`. \u0642\u0628\u0644 \u0627\u0644\u0625\u0635\u0644\u0627\u062d\u060c \u0643\u0627\u0646\u062a \u0627\u0644\u0646\u062a\u064a\u062c\u0629 `2026-03-08 10:00`.\n   - \u0627\u0644\u0625\u0635\u0644\u0627\u062d: \u0625\u0636\u0627\u0641\u0629 \u064a\u0648\u0645 \u062a\u0642\u0648\u064a\u0645\u064a \u0645\u062d\u0644\u064a \u0648\u0627\u062d\u062f \u0628\u062f\u0644\u0627\u064b \u0645\u0646 24 \u0633\u0627\u0639\u0629 UTC \u0627\u0644\u0645\u0646\u0642\u0636\u064a\u0629.\n   - \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0631\u0627\u062c\u0639: [test_scheduler.py](.\/tests\/test_scheduler.py:33).\n\n## \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627\n\n- [scheduler\/service.py](.\/scheduler\/service.py)\n- [scheduler\/time_rules.py](.\/scheduler\/time_rules.py)\n- [tests\/test_scheduler.py](.\/tests\/test_scheduler.py)\n\n## \u0627\u0644\u062a\u062d\u0642\u0642\n\n- \u0644\u0648\u062d\u0638 \u0641\u0634\u0644 \u0643\u0644\u0627 \u0627\u062e\u062a\u0628\u0627\u0631\u064a \u0627\u0644\u0627\u0646\u062d\u062f\u0627\u0631 \u0642\u0628\u0644 \u0625\u0635\u0644\u0627\u062d\u0647\u0645\u0627.\n- \u0627\u062c\u062a\u0627\u0632 \u0643\u0644 \u0645\u0646\u0647\u0645\u0627 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0628\u0639\u062f \u0627\u0644\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0645\u0642\u0627\u0628\u0644.\n- `PYTHONDONTWRITEBYTECODE=1 python3 -m unittest discover -s tests -v`\n- \u0627\u0644\u0646\u062a\u064a\u062c\u0629: **\u0627\u062c\u062a\u0627\u0632 4 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c 0 \u062d\u0627\u0644\u0627\u062a \u0641\u0634\u0644**.\n- \u0644\u0645 \u064a\u062a\u0628\u0642\u064e \u0623\u064a \u0622\u062b\u0627\u0631 \u0645\u062e\u0628\u0623 \u0644\u0640 Python \u062a\u0645 \u0625\u0646\u0634\u0627\u0624\u0647\u0627.\n\n## \u0627\u0644\u0627\u0633\u062a\u0646\u062a\u0627\u062c \u0648\u0627\u0644\u0642\u0631\u0627\u0631\n\n- **\u0627\u0644\u0627\u0633\u062a\u0646\u062a\u0627\u062c:** \u062a\u0645 \u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0639\u064a\u0648\u0628 \u0627\u0644\u0645\u0624\u0643\u062f\u0629 \u0648\u0643\u0644\u0627\u0647\u0645\u0627 \u0645\u0634\u0645\u0648\u0644 \u0628\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0627\u0646\u062d\u062f\u0627\u0631 \u0627\u0644\u0645\u0631\u0643\u0632\u0629.\n- **\u0627\u0644\u0642\u0631\u0627\u0631 \u0627\u0644\u0645\u0637\u0644\u0648\u0628:** \u0644\u0627 \u0634\u064a\u0621.<\/pre><\/div><\/details><details class=\"d-full\"><summary>\u0639\u0631\u0636 \u0627\u0644\u0646\u0627\u062a\u062c \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0631\u0645\u0632 Claude<\/summary><div class=\"d-full-pane\"><p class=\"d-full-note\">\u0633\u062c\u0644 \u0627\u0644\u062a\u0633\u0644\u064a\u0645 \u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u0646\u0635 \u0627\u0644\u062d\u0631\u0641\u064a \u0644\u0623\u0648\u0644 \u0646\u0627\u062a\u062c \u0635\u0627\u0644\u062d<\/p><pre>\u0633\u062c\u0644 \u062a\u0634\u063a\u064a\u0644 # T4 \u2014 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0648\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f\n\n\u0645\u0639\u0644\u0645\u0627\u062a \u062a\u0646\u0641\u064a\u0630 ##\n\n| \u0627\u0644\u062d\u0642\u0644 | \u0627\u0644\u0642\u064a\u0645\u0629 |\n| --- | --- |\n| \u0627\u0644\u0645\u0647\u0645\u0629 | `T4` |\n| \u0645\u0648\u062c\u0647 \u0645\u062c\u0645\u062f | `01-prompts\/T4.md` |\n| SHA-256 \u0644\u0644\u0645\u0648\u062c\u0647 \u0627\u0644\u0645\u062c\u0645\u062f | `5e69546007ea776f40b3d334ddb75671ff684c151c77551bad27de3b0fdce640` |\n| \u0648\u062d\u062f\u0629 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 | \u0648\u0643\u064a\u0644 \u0641\u0631\u0639\u064a \u0645\u0639\u0632\u0648\u0644 Claude\u060c `\u0644\u0644\u0623\u063a\u0631\u0627\u0636 \u0627\u0644\u0639\u0627\u0645\u0629`\u060c \u0633\u064a\u0627\u0642 \u062c\u062f\u064a\u062f |\n| \u0637\u0631\u064a\u0642\u0629 \u0627\u0644\u0639\u0632\u0644 | **\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0641\u0631\u0639\u064a** (\u062a\u062e\u0641\u064a\u0636 \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0645\u0648\u062b\u0642 \u2014 \u0627\u0646\u0638\u0631 `results\/isolation-decision.md`) |\n| \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0646\u0638\u064a\u0641\u0629 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 | `runtime\/workspaces\/T4` |\n| \u0625\u0635\u062f\u0627\u0631 \u0643\u0648\u062f Claude | `2.1.220` |\n| \u0625\u0639\u062f\u0627\u062f \u0627\u0644\u0646\u0645\u0648\u0630\u062c | `claude-opus-5` |\n| start_utc | `2026-07-28T10:28:22Z` |\n| end_utc | `2026-07-28T10:32:17Z` |\n| \u0627\u0644\u0645\u062f\u0629 | 235 \u062b\u0627\u0646\u064a\u0629 (\u0645\u062a\u0632\u0627\u0645\u0646\u0629 \u0645\u0639 T1\u2013T3\u061b \u0644\u064a\u0633 \u0642\u064a\u0627\u0633\u064b\u0627 \u062f\u0642\u064a\u0642\u064b\u0627 \u0644\u0644\u0643\u0645\u0648\u0646) |\n| \u0631\u0642\u0645 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 | 1 |\n| \u0627\u0644\u062d\u0627\u0644\u0629 | `\u0635\u0627\u0644\u062d` |\n| \u062a\u062f\u062e\u0644 \u0628\u0634\u0631\u064a | \u0644\u0627 \u0634\u064a\u0621 |\n\n\u062a\u0645 \u062d\u0644 \u0627\u0644\u0634\u0631\u0637 \u0627\u0644\u0648\u0627\u0631\u062f \u0641\u064a \u0627\u0644\u0645\u0648\u062c\u0647 \u0627\u0644\u0645\u062c\u0645\u062f \u2014 \"\u0642\u0645 \u0628\u0625\u0635\u0644\u0627\u062d\u0647\u0627 \u0625\u0630\u0627 \u0633\u0645\u062d\u062a \u062a\u0643\u0648\u064a\u0646\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u062c\u0645\u062f\u0629\n\u0628\u0625\u062c\u0631\u0627\u0621 \u0625\u0635\u0644\u0627\u062d\u0627\u062a\" \u2014 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0645\u0646\u0633\u0642 \u0645\u0646 \u0645\u0644\u0641 `00-control\/run-config.json` \u0648\n`00-control\/safety-policy.json`\u060c \u0627\u0644\u0644\u0630\u064a\u0646 \u064a\u0633\u0645\u062d\u0627\u0646 \u0628\u0643\u062a\u0627\u0628\u0629 \u0646\u0633\u062e \u0645\u0639\u0632\u0648\u0644\u0629 \u0645\u0646 \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u0627\u062a. \u062a\u0645 \u0625\u062e\u0637\u0627\u0631 \u0627\u0644\u0645\u0634\u063a\u0644\n\u0628\u0623\u0646 \u0627\u0644\u0625\u0635\u0644\u0627\u062d\u0627\u062a \u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627. \u0648\u0644\u0645 \u064a\u064f\u0639\u0631\u0636 \u0639\u0644\u064a\u0647 \u0623\u064a \u0645\u0644\u0641 \u062a\u062d\u0643\u0645.\n\n## \u0645\u0644\u062e\u0635 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u0622\u0645\u0646\u0629\n\n`date`\u060c `\u0642\u0631\u0627\u0621\u0629`\/`\u062a\u062d\u0631\u064a\u0631`\/`\u0643\u062a\u0627\u0628\u0629` \u062f\u0627\u062e\u0644 \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0641\u0642\u0637\u060c `grep`\u060c\n`python3 -m unittest discover`\u060c `python3 -m compileall`\u060c \u062a\u0634\u063a\u064a\u0644 \u0646\u0633\u062e\u0629 \u0645\u0624\u0642\u062a\u0629 \u0641\u0627\u0631\u063a\u0629\u060c\n\u0641\u062d\u0635 \u0648\u062c\u0648\u062f \u0627\u0644\u0628\u064a\u0627\u0646. \u0628\u062f\u0648\u0646 \u0634\u0628\u0643\u0629\u060c \u0628\u062f\u0648\u0646 \u062a\u062b\u0628\u064a\u062a\u0627\u062a\u060c \u0627\u0644\u0645\u0643\u062a\u0628\u0629 \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629 \u0641\u0642\u0637.\n\n## \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627\n\n`scheduler\/time_rules.py` (\u062a\u0645 \u062a\u0639\u062f\u064a\u0644\u0647)\u060c `scheduler\/service.py` (\u062a\u0645 \u062a\u0639\u062f\u064a\u0644\u0647)\u060c\n`tests\/test_scheduler.py` (\u062a\u0645 \u062a\u0639\u062f\u064a\u0644\u0647\u060c +2 \u0627\u062e\u062a\u0628\u0627\u0631)\u060c `tests\/test_time_rules.py` (\u062a\u0645\u062a \u0625\u0636\u0627\u0641\u062a\u0647\u060c 5 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a).\n\u0627\u0644\u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0643\u0627\u0645\u0644: `results\/T4\/patch.diff`.\n\n## \u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0641\u062d\u0635 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\n\n\u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646\u0647\u0627 \u0628\u0648\u0627\u0633\u0637\u0629 \u0645\u0634\u063a\u0644 \u0627\u0644\u0645\u0647\u0627\u0645:\n\n| \u0627\u0644\u0641\u062d\u0635 | \u0627\u0644\u0646\u062a\u064a\u062c\u0629 |\n| --- | --- |\n| `python3 -m unittest discover -s tests -v` | **9 \u0646\u062c\u062d\u062a\u060c 0 \u0641\u0634\u0644\u062a\u060c 0 \u062a\u0645 \u062a\u062e\u0637\u064a\u0647\u0627** (\u0627\u0644\u062e\u0637 \u0627\u0644\u0623\u0633\u0627\u0633\u064a 2) |\n| `python3 -m compileall -q scheduler tests` | \u0646\u062c\u062d |\n| \u0641\u062d\u0635 \u0648\u062c\u0648\u062f \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0641\u064a \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0645\u0642\u0627\u0628\u0644 `expected_files` | \u062c\u0645\u064a\u0639 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062b\u0645\u0627\u0646\u064a\u0629 \u0645\u0648\u062c\u0648\u062f\u0629 |\n| \u062a\u0634\u063a\u064a\u0644 vacuity \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u0627\u062a \u0627\u0644\u0623\u0635\u0644\u064a\u0629 \u0627\u0644\u0645\u0633\u062a\u0639\u0627\u062f\u0629 | 5 \u062d\u0627\u0644\u0627\u062a \u0641\u0634\u0644\u060c 4 \u062d\u0627\u0644\u0627\u062a \u0646\u062c\u0627\u062d\u060c \u0643\u0645\u0627 \u0647\u0648 \u0645\u062a\u0648\u0642\u0639 |\n\n\u062a\u0645 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0642\u0644 \u0645\u0646 \u0642\u0628\u0644 \u0627\u0644\u0645\u0646\u0633\u0642 \u0645\u0646 \u062e\u0627\u0631\u062c \u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644:\n\n| \u0627\u0644\u0641\u062d\u0635 | \u0627\u0644\u062e\u0631\u0648\u062c | \u0627\u0644\u0646\u062a\u064a\u062c\u0629 |\n| --- | --- | --- |\n| \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 (`results\/checks\/T4-public.txt`) | 0 | 9 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a\u060c OK |\n\n\u0641\u062d\u0635 \u062a\u0642\u0627\u0637\u0639\u064a \u0625\u0639\u0644\u0627\u0645\u064a\u060c \u063a\u064a\u0631 \u0645\u064f\u0642\u064a\u064e\u0651\u0645: \u064a\u0646\u062c\u062d \u0627\u0644\u0645\u064f\u062b\u0628\u062a \u0627\u0644\u062e\u0641\u064a T3 \u0623\u064a\u0636\u064b\u0627 \u0641\u064a \u0647\u0630\u0627\n\u0627\u0644\u0645\u0633\u0627\u062d\u0629 \u0627\u0644\u0639\u0645\u0644 (\u0627\u0644\u062e\u0631\u0648\u062c 0)\u060c \u0644\u0623\u0646 T4 \u0623\u0635\u0644\u062d \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0642\u0644 \u0646\u0641\u0633 \u0639\u064a\u0628 `next_daily_run`. \u0627\u0646\u0638\u0631\n`results\/checks\/validator-controls.md`.\n\n## \u062a\u063a\u0637\u064a\u0629 \u0627\u0644\u0639\u064a\u0648\u0628 \u0641\u064a \u0627\u0644\u062e\u0631\u064a\u0637\u0629 \u0627\u0644\u0630\u0647\u0628\u064a\u0629\n\n\u064a\u064f\u062f\u0631\u062c \u0645\u0644\u0641 `03-checks\/gold-map.json` \u0639\u064a\u0628\u064a\u0646 \u0644\u062a\u0642\u064a\u064a\u0645 T4. \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0643\u0644\u064a\u0647\u0645\u0627:\n\n| \u0627\u0644\u0639\u064a\u0628 \u0627\u0644\u0645\u064f\u062f\u0631\u062c | \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u064a\u0647 | \u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646\u0647 \u0639\u0644\u0649 \u0623\u0646\u0647 |\n| --- | --- | --- |\n| \u062a\u0645 \u0642\u0628\u0648\u0644 \u0645\u0627\u0644\u0643 \u0641\u0627\u0631\u063a | \u0646\u0639\u0645 | **D5**\u060c `scheduler\/service.py:11,13`\u060c \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629 \u0645\u0646\u062e\u0641\u0636\u0629\u060c \u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646\u0647\u0627 \u0648\u0644\u0645 \u064a\u062a\u0645 \u0625\u0635\u0644\u0627\u062d\u0647\u0627 \u0639\u0645\u062f\u064b\u0627 |\n| \u062d\u0630\u0641 \u0645\u0639\u0631\u0651\u0641 \u0645\u0641\u0642\u0648\u062f \u064a\u062b\u064a\u0631 `KeyError` | \u0646\u0639\u0645 | **D4**\u060c `scheduler\/repository.py:19` \u2192 `service.py:22`\u060c \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629 \u0645\u062a\u0648\u0633\u0637\u0629\u060c \u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646\u0647\u0627 \u0648\u0644\u0645 \u064a\u062a\u0645 \u0625\u0635\u0644\u0627\u062d\u0647\u0627 \u0639\u0645\u062f\u064b\u0627 |\n\n\u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646 \u062b\u0644\u0627\u062b \u0646\u062a\u0627\u0626\u062c \u0625\u0636\u0627\u0641\u064a\u0629 \u0628\u062e\u0644\u0627\u0641 \u0627\u0644\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0645\u0632\u0631\u0648\u0639\u0629. \u0648\u0644\u0627 \u064a\u0648\u062c\u062f \u0623\u064a \u0645\u0646\u0647\u0627 \u0646\u062a\u064a\u062c\u0629 \u0625\u064a\u062c\u0627\u0628\u064a\u0629 \u062e\u0627\u0637\u0626\u0629:\n\n- **D1** \u2014 \u0627\u0646\u062d\u0631\u0627\u0641 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a \u0641\u064a `next_daily_run`. \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0639\u064a\u0628 \u0627\u0644\u062b\u0627\u0644\u062b \u0627\u0644\u0645\u062f\u0631\u062c \u0641\u064a\n  `03-checks\/seeded-defects.md` (\u062a\u0645 \u062a\u0635\u0646\u064a\u0641\u0647 \u062a\u062d\u062a T3\u060c \u0648\u0644\u064a\u0633 T4\u060c \u0644\u0643\u0646\u0647 \u062e\u0637\u0623 \u0645\u0632\u0631\u0648\u0639 \u062d\u0642\u064a\u0642\u064a).\n- **D2** \u2014 \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0641\u064a `next_daily_run` \u062a\u062d\u0635\u0644 \u0628\u0635\u0645\u062a \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0632\u0645\u0646\u064a\u0629 \u0644\u0644\u0645\u0636\u064a\u0641 \u0648\u062a\u064f\u0631\u062c\u0639\n  \u062a\u0627\u0631\u064a\u062e\u064b\u0627 \u0648\u0648\u0642\u062a\u064b\u0627 \u0645\u062f\u0631\u0643\u064a\u0646 \u0644\u0630\u0644\u0643. \u062d\u0642\u064a\u0642\u064a \u0648\u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641\u061b \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0645\u0646\u0633\u0642 \u0645\u0642\u0627\u0628\u0644 \u0645\u0635\u062f\u0631 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631.\n- **D3** \u2014 \u062a\u0636\u0627\u0631\u0628 \u0641\u064a \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0628\u064a\u0646 \u062e\u062f\u0645\u0629 \u0648\u0645\u0633\u062a\u0648\u062f\u0639 \u0645\u064f\u062d\u0642\u0646 \u0623\u0648 \u0645\u0634\u062a\u0631\u0643\u060c \u0645\u0645\u0627 \u064a\u062a\u0633\u0628\u0628 \u0641\u064a\n  \u0627\u0644\u0643\u062a\u0627\u0628\u0629 \u0641\u0648\u0642 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u0635\u0645\u062a. \u0639\u064a\u0628 \u062d\u0642\u064a\u0642\u064a: \u062a\u0628\u062f\u0623 \u0642\u064a\u0645\u0629 `SchedulerService._next_identifier` \u062f\u0627\u0626\u0645\u064b\u0627 \u0645\u0646 1 \u0628\u064a\u0646\u0645\u0627\n  \u062a\u064f\u0639\u062f `JobRepository.save` \u0639\u0645\u0644\u064a\u0629 \u062a\u0639\u064a\u064a\u0646 \u0644\u0642\u0627\u0645\u0648\u0633 \u063a\u064a\u0631 \u0645\u062d\u0645\u064a\u0629. \u062d\u062f\u062f\u062a T1 \u0628\u0634\u0643\u0644 \u0645\u0633\u062a\u0642\u0644 \u0646\u0641\u0633\n  \u0627\u0644\u062e\u0644\u0644 \u0645\u0646 \u0627\u0644\u062a\u062c\u0647\u064a\u0632 \u0627\u0644\u0623\u0635\u0644\u064a.\n\n\u0639\u062f\u062f \u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0625\u064a\u062c\u0627\u0628\u064a\u0629 \u0627\u0644\u062e\u0627\u0637\u0626\u0629: **0**. \u0643\u0645\u0627 \u0623\u0628\u0644\u063a \u0627\u0644\u0645\u0634\u063a\u0644 \u0628\u0634\u0643\u0644 \u0635\u062d\u064a\u062d \u0628\u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0623\u064a \u0646\u062a\u0627\u0626\u062c \u0623\u0645\u0646\u064a\u0629\u060c \u0645\u0634\u064a\u0631\u064b\u0627 \u0625\u0644\u0649\n\u0623\u0646 \u0627\u0644\u062a\u062c\u0647\u064a\u0632 \u0644\u0627 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0623\u064a \u0633\u0637\u062d \u0647\u062c\u0648\u0645 \u0645\u062a\u0639\u0644\u0642 \u0628\u0627\u0644\u0634\u0628\u0643\u0629 \u0623\u0648 \u0627\u0644\u0625\u062f\u062e\u0627\u0644\/\u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0623\u0648 \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0633\u0644\u0633\u0644 \u0623\u0648 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0641\u0631\u0639\u064a\u0629 \u0623\u0648 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f.\n\n## \u0627\u0646\u062d\u0631\u0627\u0641 \u064a\u0633\u062a\u062d\u0642 \u0627\u0644\u062a\u0633\u062c\u064a\u0644\n\n\u0637\u0644\u0628\u062a \u0627\u0644\u0645\u0637\u0627\u0644\u0628\u0629 \u0627\u0644\u0645\u062c\u0645\u062f\u0629 \u0625\u062c\u0631\u0627\u0621 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u0625\u0635\u0644\u0627\u062d\u0627\u062a \u0644\u0640 \"\u0627\u0644\u0639\u064a\u0628\u064a\u0646 \u0627\u0644\u0644\u0630\u064a\u0646 \u064a\u062a\u0645\u062a\u0639\u0627\u0646 \u0628\u0623\u0639\u0644\u0649 \u062f\u0631\u062c\u0629 \u062b\u0642\u0629\". \u0627\u062e\u062a\u0627\u0631\n\u0627\u0644\u0645\u0634\u0627\u0631\u0643 D1\/D2 (\u062a\u0635\u062d\u064a\u062d \u0648\u0627\u062d\u062f\u060c \u0646\u0641\u0633 \u0627\u0644\u0648\u0638\u064a\u0641\u0629) \u0648D3\u060c \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0644\u0639\u064a\u0628\u064a\u0646 \u0627\u0644\u0645\u0632\u0631\u0648\u0639\u064a\u0646 \u0641\u064a \u0627\u0644\u062e\u0631\u064a\u0637\u0629 \u0627\u0644\u0630\u0647\u0628\u064a\u0629\nD4 \u0648D5. \u0648\u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u0645\u0639\u0644\u0646 \u0645\u0642\u0628\u0648\u0644: \u064a\u0639\u062a\u0645\u062f \u0643\u0644 \u0645\u0646 D4 \u0648D5 \u0639\u0644\u0649 \u0639\u0642\u062f \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u062a\u0637\u0628\u064a\u0642\u0627\u062a (API) \u063a\u064a\u0631 \u0645\u062d\u062f\u062f\u060c\n\u0644\u0630\u0627 \u0641\u0625\u0646 \u0625\u0635\u0644\u0627\u062d\u0647\u0645\u0627 \u0633\u064a\u0643\u0648\u0646 \u0645\u062c\u0631\u062f \u062a\u062e\u0645\u064a\u0646. \u0644\u0645 \u064a\u062a\u0623\u062b\u0631 \u0631\u0635\u064a\u062f \u0627\u0644\u0643\u0634\u0641 \u2014 \u0641\u0642\u062f \u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0643\u0644\u062a\u0627 \u0627\u0644\u0639\u064a\u0648\u0628\u062a\u064a\u0646 \u0627\u0644\u0645\u0632\u0631\u0648\u0639\u062a\u064a\u0646\n\u060c \u0645\u0639 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0644\u0641 \u0648\u0627\u0644\u0633\u0637\u0631 \u0648\u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629 \u0648\u0627\u0644\u062a\u0623\u062b\u064a\u0631 \u0648\u0625\u0645\u0643\u0627\u0646\u064a\u0629 \u0627\u0644\u062a\u0643\u0631\u0627\u0631. \u0643\u0627\u0646\u062a \u0627\u0644\u0625\u0635\u0644\u0627\u062d\u0627\u062a \u0627\u0644\u0645\u0637\u0628\u0642\u0629 \u0639\u0644\u0649 \u0639\u064a\u0648\u0628 \u062d\u0642\u064a\u0642\u064a\u0629\n\u0648\u0645\u062f\u0639\u0648\u0645\u0629 \u0628\u0641\u062d\u0635 \u0627\u0644\u0641\u0631\u0627\u063a.\n\n## \u0623\u062e\u0637\u0627\u0621 \u062a\u0645 \u062a\u0635\u062d\u064a\u062d\u0647\u0627\n\n\u0641\u0634\u0644\u0627\u0646 \u0641\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0646\u0627\u062a\u062c\u0627\u0646 \u0639\u0646 \u0627\u0644\u062e\u0637\u0623 \u0627\u0644\u0630\u0627\u062a\u064a \u0628\u0633\u0628\u0628 \u0637\u0631\u062d \"\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a\" \u0645\u0646 \"\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0637\u0644\u0642\" \u0641\u064a \u062a\u0648\u0627\u0631\u064a\u062e \u0648\u0623\u0648\u0642\u0627\u062a\n\u062a\u0634\u062a\u0631\u0643 \u0641\u064a `tzinfo`\u061b \u062a\u0645 \u062a\u0635\u062d\u064a\u062d\u0647\u0645\u0627 \u0648\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647\u0645\u0627. \u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u062e\u0637\u0627\u0621 \u0641\u064a \u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0623\u0648 \u0627\u0644\u0628\u064a\u0626\u0629. \u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 \u0628\u0642\u0627\u064a\u0627 `__pycache__`\n\u0628\u0639\u062f \u0627\u0644\u062a\u0634\u063a\u064a\u0644.\n\n## \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0645\u0631\u0626\u064a\u0629 (\u062d\u0631\u0641\u064a\u0627\u064b)\n\n### \u062a\u0642\u0631\u064a\u0631 \u0627\u0644\u0639\u064a\u0648\u0628\n\n**D1 \u2014 `scheduler\/time_rules.py:10-11` \u2014 \u0627\u0646\u062d\u0631\u0627\u0641 \u0627\u0644\u062c\u062f\u0648\u0644 \u0627\u0644\u064a\u0648\u0645\u064a \u0628\u0645\u0642\u062f\u0627\u0631 \u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629 \u062e\u0644\u0627\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a \u2014 \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629: \u0639\u0627\u0644\u064a\u0629**\n\n\u062a\u0636\u064a\u0641 `next_daily_run` 24 \u0633\u0627\u0639\u0629 *\u0645\u0646\u0642\u0636\u064a\u0629* \u0639\u0628\u0631 \u0631\u062d\u0644\u0629 \u0630\u0647\u0627\u0628 \u0648\u0625\u064a\u0627\u0628 \u0628\u062a\u0648\u0642\u064a\u062a UTC \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u062a\u0642\u062f\u064a\u0645 \u0627\u0644\u064a\u0648\u0645 \u0627\u0644\u062a\u0642\u0648\u064a\u0645\u064a. \u064a\u062a\u0645 \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u064a\u0648\u0645\u064a\u0629 \u062d\u0633\u0628 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0643\u0644 \u0645\u0647\u0645\u0629 \u0641\u064a \u0645\u0646\u0637\u0642\u0629 \u062a\u0637\u0628\u0642 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a \u064a\u062a\u0645 \u062a\u0634\u063a\u064a\u0644\u0647\u0627 \u0628\u0635\u0645\u062a \u0642\u0628\u0644 \u0623\u0648 \u0628\u0639\u062f \u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629 \u0645\u0646 \u064a\u0648\u0645 \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0641\u0635\u0627\u0639\u062f\u064b\u0627\u060c \u0648\u064a\u0633\u062a\u0645\u0631 \u0627\u0644\u062e\u0637\u0623 (\u064a\u062a\u0645 \u0625\u0639\u0627\u062f\u0629 \u0636\u0628\u0637 \u0643\u0644 \u062a\u0634\u063a\u064a\u0644 \u0645\u0646 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0630\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647). \u0648\u0642\u062f \u0627\u0639\u062a\u0631\u0641 \u0646\u0635 \u0627\u0644\u062a\u0648\u062b\u064a\u0642 \u0646\u0641\u0633\u0647 \u0628\u0647\u0630\u0627 \u0627\u0644\u0633\u0644\u0648\u0643.\n\n```\nprev = datetime(2024, 3, 9, 9, 0, tzinfo=ZoneInfo('America\/New_York'))\nnext_daily_run(prev)   # -&gt; 2024-03-10 10:00:00-04:00\u060c \u0627\u0644\u0645\u062a\u0648\u0642\u0639 09:00-04:00\nprev = datetime(2024, 11, 2, 9, 0, tzinfo=ZoneInfo(\"America\/New_York\"))\n\u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u064a\u0648\u0645\u064a \u0627\u0644\u062a\u0627\u0644\u064a (\u0627\u0644\u0633\u0627\u0628\u0642)   # -&gt; 2024-11-03 08:00:00-05:00\u060c \u0627\u0644\u0645\u062a\u0648\u0642\u0639 09:00-05:00\n```\n\n**D2 \u2014 `scheduler\/time_rules.py:10-11` \u2014 \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u062a\u062d\u0635\u0644 \u0628\u0635\u0645\u062a \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0632\u0645\u0646\u064a\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0644\u0644\u062c\u0647\u0627\u0632 \u2014 \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629: \u0645\u062a\u0648\u0633\u0637\u0629**\n\n\u0646\u0641\u0633 \u0627\u0644\u0633\u0637\u0631\u064a\u0646. `.astimezone(timezone.utc)` \u0639\u0644\u0649 \u062a\u0627\u0631\u064a\u062e \u0648\u0648\u0642\u062a \u0628\u0633\u064a\u0637 \u064a\u0641\u062a\u0631\u0636 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0645\u062d\u0644\u064a \u0644\u0644\u0646\u0638\u0627\u0645\u060c \u0648`.astimezone(None)` \u062a\u064f\u0631\u062c\u0639 \u062a\u0627\u0631\u064a\u062e\u064b\u0627 \u0648\u0648\u0642\u062a\u064b\u0627 \u0645\u062f\u0631\u0643\u064b\u0627. \u062a\u064f\u0631\u062c\u0639 \u0627\u0644\u062f\u0639\u0648\u0629 \u0627\u0644\u062a\u064a \u062a\u062f\u062e\u0644 \u0628\u0642\u064a\u0645\u0629 \u0628\u0633\u064a\u0637\u0629 \u0642\u064a\u0645\u0629 \u0648\u0627\u0639\u064a\u0629 \u0639\u0646\u062f \u0627\u0644\u062e\u0631\u0648\u062c\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0645\u0642\u0627\u0631\u0646\u0629 \u0645\u0639 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0627\u0644\u0623\u062e\u0631\u0649 \u0644\u0644\u0645\u0633\u062a\u062f\u0639\u064a (`TypeError` \u0639\u0646\u062f \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u0629) \u0648\u064a\u0639\u062a\u0645\u062f \u0627\u0644\u062c\u0648\u0627\u0628 \u0639\u0644\u0649 `TZ` \u0644\u0644\u0645\u0636\u064a\u0641.\n\n```\nnext_daily_run(datetime(2024, 1, 1, 9, 0))\n# -&gt; datetime(2024, 1, 2, 9, 0, tzinfo=timezone(timedelta(hours=8), \"CST\"))  # \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0627\u0644\u0645\u0636\u064a\u0641\n```\n\n**D3 \u2014 `scheduler\/service.py:8,13,15` (\u0627\u0644\u0628\u0627\u062f\u0626\u0629) \u2014 \u062a\u0636\u0627\u0631\u0628 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u064a\u0624\u062f\u064a \u0625\u0644\u0649 \u0625\u062a\u0644\u0627\u0641 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u062e\u0632\u0646\u0629 \u062f\u0648\u0646 \u0625\u0634\u0639\u0627\u0631 \u2014 \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629: \u0639\u0627\u0644\u064a\u0629**\n\n\u0643\u0627\u0646 \u0639\u062f\u0627\u062f \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u062e\u0627\u0635\u064b\u0627 \u0628\u0643\u0644 `SchedulerService` \u0648\u064a\u0628\u062f\u0623 \u062f\u0627\u0626\u0645\u064b\u0627 \u0645\u0646 1\u060c \u0645\u062a\u062c\u0627\u0647\u0644\u064b\u0627 \u0645\u062d\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0645\u064f\u062f\u0631\u062c. \u0623\u064a \u062e\u062f\u0645\u0629 \u062b\u0627\u0646\u064a\u0629 \u062a\u0633\u062a\u062e\u062f\u0645 \u0645\u0633\u062a\u0648\u062f\u0639\u064b\u0627 \u0645\u0634\u062a\u0631\u0643\u064b\u0627\u060c \u0623\u0648 \u0623\u064a \u062e\u062f\u0645\u0629 \u062a\u0633\u062a\u062e\u062f\u0645 \u0645\u0633\u062a\u0648\u062f\u0639\u064b\u0627 \u0645\u064f\u0639\u0628\u0623\u064b \u0645\u0633\u0628\u0642\u064b\u0627\u060c \u062a\u0639\u064a\u062f \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0645\u0639\u0631\u0651\u0641 1\u061b `JobRepository.save` \u0647\u064a \u0639\u0645\u0644\u064a\u0629 \u062a\u0639\u064a\u064a\u0646 \u0644\u0642\u0627\u0645\u0648\u0633\u060c \u0644\u0630\u0627 \u062a\u0645 \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u062f\u0648\u0646 \u0638\u0647\u0648\u0631 \u0623\u064a \u062e\u0637\u0623. \u0641\u0642\u062f\u0627\u0646 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a.\n\n```\nrepo = JobRepository()\nSchedulerService(repo).create_job(\"\u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0627\u062d\u062a\u064a\u0627\u0637\u064a \u0627\u0644\u0644\u064a\u0644\u064a\", \"Alex\")    # \u0627\u0644\u0645\u0639\u0631\u0641 1\nSchedulerService(repo).create_job('Payroll export', 'Blake')   # id 1 \u0645\u0631\u0629 \u0623\u062e\u0631\u0649\nrepo.all()   # -&gt; [Job(1, \"Payroll export\", \"Blake\")]  \u2014 \u0627\u062e\u062a\u0641\u062a \u0645\u0647\u0645\u0629 \u0623\u0644\u064a\u0643\u0633\n```\n\n**D4 \u2014 `scheduler\/repository.py:19` \u2192 `scheduler\/service.py:22` \u2014 \u062a\u062b\u064a\u0631 `delete_job` \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `KeyError` \u0628\u0633\u0628\u0628 \u0645\u0639\u0631\u0651\u0641 \u063a\u064a\u0631 \u0645\u0639\u0631\u0648\u0641 \u2014 \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629: \u0645\u062a\u0648\u0633\u0637\u0629**\n\n\u062a\u0633\u062a\u062e\u062f\u0645 `delete` `dict.pop` \u0628\u062f\u0648\u0646 \u0642\u064a\u0645\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0641\u064a \u062d\u064a\u0646 \u0623\u0646 \u0627\u0644\u062f\u0627\u0644\u0629 \u0627\u0644\u0634\u0642\u064a\u0642\u0629 `get` (\u0627\u0644\u0633\u0637\u0631 13) \u062a\u0639\u064a\u062f `None` \u0641\u064a \u062d\u0627\u0644\u0629 \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0627\u0644\u0639\u0646\u0635\u0631. \u064a\u0624\u062f\u064a \u0647\u0630\u0627 \u0627\u0644\u062a\u0646\u0627\u0642\u0636 \u0625\u0644\u0649 \u062a\u0633\u0631\u0628 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 `KeyError` \u062e\u0627\u0645 \u0639\u0628\u0631 `SchedulerService.delete_job`\u060c \u0648\u0647\u0648 \u0645\u0627 \u0645\u0646 \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u062c\u062d \u0623\u0646 \u064a\u0644\u062a\u0642\u0637\u0647 \u0627\u0644\u0645\u0633\u062a\u062f\u0639\u0648\u0646. \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0645\u062b\u064a\u0644: `SchedulerService().delete_job(999)` \u2192 `KeyError: 999`. \u064a\u0645\u0643\u0646 \u0625\u0635\u0644\u0627\u062d \u0630\u0644\u0643 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 `pop(identifier, None)` \u0623\u0648 \u0627\u0633\u062a\u062b\u0646\u0627\u0621 \u0645\u062c\u0627\u0644 \u0635\u0631\u064a\u062d \u2014 \u062a\u0645 \u062a\u0631\u0643\u0647 \u062f\u0648\u0646 \u0625\u0635\u0644\u0627\u062d \u0639\u0645\u062f\u064b\u0627\u060c \u0646\u0638\u0631\u064b\u0627 \u0644\u0623\u0646 \u0627\u0644\u0639\u0642\u062f \u0627\u0644\u0635\u062d\u064a\u062d (\u0639\u062f\u0645 \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u0628\u0635\u0645\u062a \u0645\u0642\u0627\u0628\u0644 \u062e\u0637\u0623 \u0645\u062d\u062f\u062f \u0627\u0644\u0646\u0648\u0639) \u0647\u0648 \u0642\u0631\u0627\u0631 \u064a\u062a\u0639\u0644\u0642 \u0628\u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API) \u064a\u062e\u0635 \u0627\u0644\u0645\u0627\u0644\u0643.\n\n**D5 \u2014 `scheduler\/service.py:11,13` \u2014 \u062d\u0642\u0644 'owner' \u063a\u064a\u0631 \u0645\u064f\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u062a\u0647 \u2014 \u062f\u0631\u062c\u0629 \u0627\u0644\u062e\u0637\u0648\u0631\u0629: \u0645\u0646\u062e\u0641\u0636\u0629**\n\n\u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0646 `name` \u0641\u0627\u0631\u063a\u064b\u0627 \u0648\u0644\u0643\u0646 \u0644\u0627 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 `owner`: `create_job('ok', '   ')` \u064a\u062e\u0632\u0646 `owner=''`. \u0643\u0645\u0627 \u0623\u0646 \u0643\u0644\u0627 \u0627\u0644\u0645\u0639\u0644\u0645\u062a\u064a\u0646 \u062a\u0633\u062a\u062f\u0639\u064a\u0627\u0646 `.strip()` \u062f\u0648\u0646 \u062d\u0645\u0627\u064a\u0629\u060c \u0644\u0630\u0627 \u064a\u0638\u0647\u0631 `None` \u0639\u0644\u0649 \u0623\u0646\u0647 `AttributeError: \u0627\u0644\u0643\u0627\u0626\u0646 'NoneType' \u0644\u0627 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0627\u0644\u0633\u0645\u0629 'strip'` \u0628\u062f\u0644\u0627\u064b \u0645\u0646 `ValueError` \u0627\u0644\u0630\u064a \u062a\u0633\u062a\u062e\u062f\u0645\u0647 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API) \u0639\u0627\u062f\u0629\u064b \u0641\u064a \u062d\u0627\u0644\u0629 \u0627\u0644\u0625\u062f\u062e\u0627\u0644 \u0627\u0644\u062e\u0627\u0637\u0626. \u062a\u064f\u0631\u0643\u062a \u062f\u0648\u0646 \u0625\u0635\u0644\u0627\u062d \u2014 \u0644\u0645 \u064a\u064f\u0630\u0643\u0631 \u0627\u0644\u0639\u0642\u062f \u0627\u0644\u0645\u0642\u0635\u0648\u062f \u0644\u0644\u0645\u0627\u0644\u0643 \u0641\u064a \u0623\u064a \u0645\u0643\u0627\u0646 \u0641\u064a \u0627\u0644\u0623\u062f\u0627\u0629.\n\n**\u0627\u0644\u0623\u0645\u0627\u0646:** \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0623\u064a \u0645\u0634\u0643\u0644\u0627\u062a. \u0644\u0627 \u064a\u062d\u062a\u0648\u064a \u0627\u0644\u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0645\u0633\u0627\u0639\u062f \u0639\u0644\u0649 \u0623\u064a \u0648\u0627\u062c\u0647\u0629 \u0644\u0644\u0634\u0628\u0643\u0629 \u0623\u0648 \u0627\u0644\u0625\u062f\u062e\u0627\u0644\/\u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0623\u0648 \u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062a\u0633\u0644\u0633\u0644 \u0623\u0648 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0641\u0631\u0639\u064a\u0629 \u0623\u0648 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f\u061b \u0648\u0627\u0644\u062a\u062e\u0632\u064a\u0646 \u0639\u0628\u0627\u0631\u0629 \u0639\u0646 \u0642\u0627\u0645\u0648\u0633 \u062f\u0627\u062e\u0644 \u0627\u0644\u0639\u0645\u0644\u064a\u0629.\n\n**\u0641\u062c\u0648\u0629 \u0641\u064a \u0627\u0644\u062a\u063a\u0637\u064a\u0629:** \u0644\u0645 \u062a\u0643\u0646 \u0647\u0646\u0627\u0643 \u062a\u063a\u0637\u064a\u0629 \u0627\u062e\u062a\u0628\u0627\u0631\u064a\u0629 \u0644\u0640 `scheduler\/time_rules.py` \u0648`scheduler\/repository.py` \u0642\u0628\u0644 \u0647\u0630\u0627 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u061b \u062d\u064a\u062b \u0644\u0645 \u064a\u062e\u062a\u0628\u0631 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u0646 \u0627\u0644\u0645\u064f\u0639\u062f\u0627\u0646 \u0645\u0633\u0628\u0642\u064b\u0627 \u0633\u0648\u0649 \u0627\u0644\u0645\u0633\u0627\u0631 \u0627\u0644\u0633\u0644\u064a\u0645 \u0644\u0644\u062e\u062f\u0645\u0629.\n\n### \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u0627\u0644\u0625\u0635\u0644\u0627\u062d\u0627\u062a \u0627\u0644\u0645\u0637\u0628\u0642\u0629\n\n\u0643\u0627\u0646 \u0627\u0644\u0639\u064a\u0628\u0627\u0646 \u0627\u0644\u0644\u0630\u0627\u0646 \u062d\u0638\u064a\u0627 \u0628\u0623\u0639\u0644\u0649 \u062f\u0631\u062c\u0629 \u062b\u0642\u0629 \u0647\u0645\u0627 **D1\/D2** (\u0646\u0641\u0633 \u0627\u0644\u062f\u0627\u0644\u0629\u060c \u0625\u0635\u0644\u0627\u062d \u0648\u0627\u062d\u062f) \u0648**D3**.\n\n**\u0627\u0644\u062a\u0635\u062d\u064a\u062d 1 \u2014 `scheduler\/time_rules.py`:** \u062a\u0645 \u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0631\u062d\u0644\u0629 \u0627\u0644\u0630\u0647\u0627\u0628 \u0648\u0627\u0644\u0625\u064a\u0627\u0628 \u0625\u0644\u0649 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u0646\u0633\u0642 (UTC) \u0628\u0640 `previous_run + timedelta(days=1)`. \u062a\u0642\u0648\u0645 \u0644\u063a\u0629 Python \u0628\u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062d\u0633\u0627\u0628\u064a\u0629 \u0648\u0641\u0642\u064b\u0627 \u0644\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a (wall-clock) \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0627\u0631\u064a\u062e \u0648\u0627\u0644\u0623\u0648\u0642\u0627\u062a \u0627\u0644\u0645\u064f\u062f\u0631\u0643\u0629\u060c \u0648\u062a\u0642\u0648\u0645 `zoneinfo` \u0628\u0625\u0639\u0627\u062f\u0629 \u062a\u062d\u062f\u064a\u062f \u0625\u0632\u0627\u062d\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u0646\u0633\u0642 (UTC) \u0628\u0634\u0643\u0644 \u0645\u0624\u062c\u0644 \u0627\u0633\u062a\u0646\u0627\u062f\u064b\u0627 \u0625\u0644\u0649 \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0641\u0639\u0644\u064a \u0627\u0644\u062c\u062f\u064a\u062f \u2014 \u0644\u0630\u0627 \u062a\u0638\u0644 \u0627\u0644\u0633\u0627\u0639\u0629 09:00 \u0647\u064a 09:00 \u0628\u064a\u0646\u0645\u0627 \u062a\u062a\u062d\u0631\u0643 \u0627\u0644\u0625\u0632\u0627\u062d\u0629 \u0628\u0634\u0643\u0644 \u0635\u062d\u064a\u062d \u0645\u0646 `-05:00 \u2192 -04:00`. \u064a\u0624\u062f\u064a \u0647\u0630\u0627 \u0625\u0644\u0649 \u0625\u0635\u0644\u0627\u062d D1 \u0648 D2 \u0645\u0639\u064b\u0627: \u062a\u0638\u0644 \u0627\u0644\u0645\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0633\u064a\u0637\u0629 \u0628\u0633\u064a\u0637\u0629 \u0627\u0644\u0622\u0646 \u0648\u0644\u0627 \u064a\u062a\u0645 \u0627\u0633\u062a\u0646\u062a\u0627\u062c \u0627\u0644\u0645\u0646\u0637\u0642\u0629 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0623\u0628\u062f\u064b\u0627. \u062a\u0645 \u062a\u0648\u062b\u064a\u0642 \u062d\u0627\u0644\u0629 \u0633\u0627\u0639\u0629 \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u00ab\u063a\u064a\u0631 \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0648\u0635\u0648\u0644 \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u063a\u0627\u0645\u0636\u0629\u00bb \u0639\u0644\u0649 \u0623\u0646\u0647\u0627 \u062a\u062e\u0636\u0639 \u0644\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0637\u064a \u0641\u064a tzinfo.\n\n**\u0627\u0644\u0625\u0635\u0644\u0627\u062d 2 \u2014 `scheduler\/service.py`:** \u062a\u0645\u062a \u0625\u0632\u0627\u0644\u0629 \u0639\u062f\u0627\u062f `_next_identifier` \u0627\u0644\u062e\u0627\u0635 \u0628\u0643\u0644 \u0645\u062b\u064a\u0644\u061b \u0648\u064a\u062a\u0645 \u0627\u0644\u0622\u0646 \u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0645\u0646 \u062d\u0627\u0644\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0639\u0644\u0649 \u0627\u0644\u0646\u062d\u0648 \u0627\u0644\u062a\u0627\u0644\u064a: `max(\u0627\u0644\u0645\u0639\u0631\u0641\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629\u060c \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a=0) + 1` \u0639\u0646\u062f \u0648\u0642\u062a \u0627\u0644\u0625\u0646\u0634\u0627\u0621. \u0648\u0647\u0630\u0627 \u0635\u062d\u064a\u062d \u0644\u0643\u0644 \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 \u0648\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0627\u0644\u0645\u0639\u0628\u0623\u0629 \u0645\u0633\u0628\u0642\u064b\u0627. \u0627\u0644\u0645\u0642\u0627\u064a\u0636\u0629: O(n) \u0644\u0643\u0644 \u0639\u0645\u0644\u064a\u0629 \u0625\u0646\u0634\u0627\u0621 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 O(1)\u060c \u0648\u0647\u0648 \u0623\u0645\u0631 \u0645\u0642\u0628\u0648\u0644 \u0644\u0645\u062e\u0632\u0646 \u0641\u064a \u0627\u0644\u0630\u0627\u0643\u0631\u0629 \u0645\u062f\u0639\u0648\u0645 \u0628\u0642\u0627\u0645\u0648\u0633 (dict)\u060c \u0648\u064a\u0636\u0645\u0646 \u0627\u0644\u062f\u0642\u0629 \u0645\u0642\u0627\u0631\u0646\u0629\u064b \u0628\u0639\u062f\u0627\u062f \u0644\u0627 \u064a\u0645\u0643\u0646\u0647 \u0631\u0624\u064a\u0629 \u0627\u0644\u0645\u062e\u0632\u0646 \u0627\u0644\u0630\u064a \u064a\u0643\u062a\u0628 \u0625\u0644\u064a\u0647.\n\n**\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u2014 `tests\/test_time_rules.py` (\u062c\u062f\u064a\u062f\u060c 5 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a):** \u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0641\u0639\u0644\u064a \u0641\u064a \u062d\u0627\u0644\u0627\u062a \u0627\u0644\u062a\u0642\u062f\u0645 \u0641\u064a \u0627\u0644\u0631\u0628\u064a\u0639 \u0648\u0627\u0644\u062a\u0631\u0627\u062c\u0639 \u0641\u064a \u0627\u0644\u062e\u0631\u064a\u0641\u060c \u0648\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0637\u0644\u0642 \u0627\u0644\u0645\u0646\u0642\u0636\u064a \u0627\u0644\u0628\u0627\u0644\u063a 23 \u0633\u0627\u0639\u0629\/25 \u0633\u0627\u0639\u0629 \u0639\u0628\u0631 \u062a\u0644\u0643 \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644\u0627\u062a\u060c \u0648\u0625\u0639\u0627\u062f\u0629 \u062a\u062d\u062f\u064a\u062f \u0625\u0632\u0627\u062d\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u0646\u0633\u0642 (UTC)\u060c \u0648\u00ab\u0627\u0644\u0628\u0642\u0627\u0621 \u0639\u0644\u0649 \u0627\u0644\u0628\u0633\u0627\u0637\u0629\u00bb (naive-stays-naive)\u060c \u0648\u0627\u0644\u062a\u0642\u062f\u0645 \u0627\u0644\u064a\u0648\u0645\u064a \u0627\u0644\u0628\u0633\u064a\u0637 \u0641\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0639\u0627\u0644\u0645\u064a \u0627\u0644\u0645\u0646\u0633\u0642 (UTC). \u064a\u062a\u0645 \u062a\u062e\u0637\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0628\u0634\u0643\u0644 \u0633\u0644\u0633 \u0641\u064a \u062d\u0627\u0644\u0629 \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0642\u0627\u0639\u062f\u0629 \u0628\u064a\u0627\u0646\u0627\u062a IANA.\n\n**\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u2014 `tests\/test_scheduler.py` (\u0645\u0648\u0633\u0639\u0629\u060c +2 \u0627\u062e\u062a\u0628\u0627\u0631):** \u064a\u062c\u0628 \u0639\u0644\u0649 \u062e\u062f\u0645\u062a\u064a\u0646 \u062a\u0634\u062a\u0631\u0643\u0627\u0646 \u0641\u064a \u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0627\u062d\u062f \u0625\u0635\u062f\u0627\u0631 \u0645\u0639\u0631\u0651\u0641\u0627\u062a \u0645\u0645\u064a\u0632\u0629 \u0648\u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0638 \u0628\u0643\u0644\u062a\u0627 \u0627\u0644\u0645\u0647\u0645\u062a\u064a\u0646\u061b \u0648\u064a\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u062e\u062f\u0645\u0629 \u0627\u0644\u062a\u064a \u062a\u0639\u0645\u0644 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u062f\u0639 \u0645\u0645\u0644\u0648\u0621 \u0645\u0633\u0628\u0642\u064b\u0627 \u0628\u0627\u0644\u0645\u0639\u0631\u0651\u0641\u064a\u0646 1 \u06487 \u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u0645\u0639\u0631\u0651\u0641 8 \u0648\u062a\u0631\u0643 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0629 \u0643\u0645\u0627 \u0647\u064a.\n\n**\u0641\u062d\u0635 \u0627\u0644\u0641\u0631\u0627\u063a:** \u0642\u0645\u062a \u0628\u0627\u0633\u062a\u0639\u0627\u062f\u0629 \u0643\u0644\u0627 \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u064a\u0646 \u0627\u0644\u0623\u0635\u0644\u064a\u064a\u0646 \u0641\u064a \u0646\u0633\u062e\u0629 \u0645\u0624\u0642\u062a\u0629 \u0648\u0623\u0639\u062f\u062a \u062a\u0634\u063a\u064a\u0644 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u2014 \u0641\u0634\u0644\u062a \u062c\u0645\u064a\u0639 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062e\u0645\u0633\u0629 \u0627\u0644\u062c\u062f\u064a\u062f\u0629 (`FAILED (failures=5)`)\u060c \u0648\u0646\u062c\u062d\u062a \u062c\u0645\u064a\u0639\u0647\u0627 \u0645\u0639 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0630\u064a \u062a\u0645 \u0625\u0635\u0644\u0627\u062d\u0647. \u062a\u062b\u0628\u062a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u062c\u0648\u062f \u0627\u0644\u0639\u064a\u0648\u0628 \u0628\u0634\u0643\u0644 \u0642\u0627\u0637\u0639.\n\n\u062a\u0635\u062d\u064a\u062d \u0648\u0627\u062d\u062f \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0634\u063a\u064a\u0644: \u0643\u0627\u0646\u062a \u0645\u0633\u0648\u062f\u062a\u064a \u0627\u0644\u0623\u0648\u0644\u0649 \u062a\u0624\u0643\u062f \u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0646\u0642\u0636\u064a \u0641\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a (DST) \u0639\u0644\u0649 \u0623\u0646\u0647 `result - previous`\u060c \u0648\u0647\u0648 \u0645\u0627 \u064a\u0642\u064a\u0651\u0645\u0647 \u0644\u063a\u0629 Python \u0643\u062d\u0633\u0627\u0628 \u0639\u0644\u0649 \u0623\u0633\u0627\u0633 \u0627\u0644\u0633\u0627\u0639\u0629 \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0629 \u0639\u0646\u062f\u0645\u0627 \u064a\u0634\u062a\u0631\u0643 \u0643\u0644\u0627 \u0627\u0644\u0645\u0639\u0627\u0645\u0644\u064a\u0646 \u0641\u064a \u0646\u0641\u0633 tzinfo\u060c \u0644\u0630\u0627 \u0642\u0631\u0623\u062a\u0647 \u0639\u0644\u0649 \u0623\u0646\u0647 `24h` \u0648\u0641\u0634\u0644\u062a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a. \u064a\u062a\u0645 \u0627\u0644\u0622\u0646 \u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u062a\u0623\u0643\u064a\u062f\u0627\u062a \u0625\u0644\u0649 \u062a\u0648\u0642\u064a\u062a UTC \u0642\u0628\u0644 \u0627\u0644\u0637\u0631\u062d. \u0643\u0627\u0646 \u0627\u0644\u0641\u0634\u0644 \u0641\u064a \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062e\u0627\u0635 \u0628\u064a\u060c \u0648\u0644\u064a\u0633 \u0641\u064a \u0627\u0644\u0625\u0635\u0644\u0627\u062d.\n\n### \u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0644\u0644\u0645\u0627\u0644\u0643\n\n\u0644\u0645 \u064a\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 \u0645\u0644\u0641 `fixture-manifest.json`\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0645\u0644\u0641 `tests\/test_time_rules.py` \u0647\u0648 \u0645\u0644\u0641 \u062c\u062f\u064a\u062f \u0635\u062d\u064a\u062d \u063a\u064a\u0631 \u0645\u062f\u0631\u062c \u0641\u064a `expected_files` \u2014 \u0642\u0645 \u0628\u062a\u062d\u062f\u064a\u062b \u0645\u0644\u0641 \u0627\u0644\u0628\u064a\u0627\u0646 \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0647\u0646\u0627\u0643 \u0639\u0645\u0644\u064a\u0629 \u0641\u062d\u0635 \u062a\u0641\u0631\u0636 \u0645\u062c\u0645\u0648\u0639\u0629 \u0645\u0644\u0641\u0627\u062a \u0645\u062d\u062f\u062f\u0629 \u0628\u062f\u0642\u0629. \u0648\u0642\u062f \u062a\u0645 \u0627\u0644\u0625\u0628\u0644\u0627\u063a \u0639\u0646 D4\/D5 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u062a\u0645 \u0625\u0635\u0644\u0627\u062d\u0647\u0645\u0627 \u0639\u0645\u062f\u064b\u0627: \u0643\u0644\u0627\u0647\u0645\u0627 \u064a\u0639\u062a\u0645\u062f\u0627\u0646 \u0639\u0644\u0649 \u0642\u0631\u0627\u0631 \u064a\u062a\u0639\u0644\u0642 \u0628\u0639\u0642\u062f \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (\u062f\u0644\u0627\u0644\u0627\u062a \u00abmiss-on-delete\u00bb\u060c \u0648\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0635\u062d\u0629 \u0627\u0644\u0645\u0627\u0644\u0643) \u063a\u064a\u0631 \u0645\u062d\u062f\u062f \u0641\u064a \u0623\u064a \u0645\u0643\u0627\u0646 \u0641\u064a \u0627\u0644\u062a\u062c\u0647\u064a\u0632\u060c \u0644\u0630\u0627 \u0641\u0625\u0646 \u0627\u062e\u062a\u064a\u0627\u0631 \u0623\u062d\u062f\u0647\u0645\u0627 \u0643\u0627\u0646 \u0633\u064a\u0643\u0648\u0646 \u0645\u062c\u0631\u062f \u062a\u062e\u0645\u064a\u0646 \u0648\u0644\u064a\u0633 \u0625\u0635\u0644\u0627\u062d\u064b\u0627.\n<\/pre><\/div><\/details><\/div><p class=\"d-limit\">\u0642\u064a\u0648\u062f \u0627\u0644\u0646\u0638\u0627\u0645: \u0643\u0627\u0646 \u0647\u0630\u0627 \u0645\u0633\u062a\u0648\u062f\u0639\u064b\u0627 \u0635\u063a\u064a\u0631\u064b\u0627 \u0644\u0640 Python \u064a\u0639\u0645\u0644 \u062f\u0648\u0646 \u0627\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a. \u0627\u0633\u062a\u062e\u062f\u0645 Claude \u0648\u0643\u064a\u0644\u064b\u0627 \u0641\u0631\u0639\u064a\u064b\u0651\u0627 \u0643\u062d\u0644 \u0628\u062f\u064a\u0644 \u0628\u0639\u062f \u0627\u0646\u062a\u0647\u0627\u0621 \u0635\u0644\u0627\u062d\u064a\u0629 OAuth \u0639\u0628\u0631 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI)\u060c \u0644\u0630\u0627 \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0639\u0632\u0644 \u0648\u0631\u0624\u064a\u0629 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0645\u064a\u0632 \u0645\u062a\u0637\u0627\u0628\u0642\u062a\u064a\u0646.<\/p><\/article>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u0627 \u064a\u064f\u0644\u063a\u064a \u0623\u064a \u0645\u0646 \u0647\u0630\u064a\u0646 \u0627\u0644\u062a\u0642\u064a\u064a\u0645\u064a\u0646 \u0627\u0644\u062d\u0627\u062c\u0629 \u0625\u0644\u0649 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0628\u0634\u0631\u064a\u0629. \u0628\u0639\u062f \u0623\u0646 \u064a\u0646\u062a\u0647\u064a \u0623\u064a \u0645\u0646 \u0627\u0644\u0648\u0643\u0644\u0627\u0621 \u0645\u0646 \u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u0625\u0635\u0644\u0627\u062d\u060c \u064a\u062c\u0628 \u0641\u062d\u0635 \u0627\u0644\u0648\u0627\u062c\u0647\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627\u060c \u0648\u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u063a\u064a\u0631 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u060c \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u0633\u0644\u0628\u064a\u0629 \u0627\u0644\u0645\u0641\u0642\u0648\u062f\u0629\u060c \u0648\u0633\u062c\u0644 \u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a \u0623\u0648 \u0627\u0644\u0623\u0648\u0627\u0645\u0631\u060c \u0648\u0645\u0633\u0627\u0631 \u0627\u0644\u062a\u0631\u0627\u062c\u0639. \u0641\u0627\u0644\u062a\u0641\u0633\u064a\u0631 \u0627\u0644\u0645\u0642\u0646\u0639 \u0644\u0627 \u064a\u064f\u0639\u062f \u0628\u062f\u064a\u0644\u0627\u064b \u0639\u0646 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0643\u0631\u0627\u0631.<\/p>\n\n\n\n<h2 id=\"safety\" class=\"wp-block-heading\">\u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a\u060c \u0648\u0628\u064a\u0626\u0629 \u0627\u0644\u062d\u0645\u0627\u064a\u0629\u060c \u0648\u0627\u0644\u0633\u0644\u0627\u0645\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644\u064a\u0629<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0645\u0643\u0646 \u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u062e\u0627\u0635\u060c \u0648\u062a\u0646\u0641\u064a\u0630 \u0623\u0648\u0627\u0645\u0631 \u0634\u0644\u060c \u0648\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0644\u0641\u0627\u062a\u060c \u0648\u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0623\u062f\u0648\u0627\u062a \u062e\u0627\u0631\u062c\u064a\u0629. \u0648\u0647\u0630\u0627 \u064a\u062c\u0639\u0644 \u062a\u0635\u0645\u064a\u0645 \u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a \u062c\u0632\u0621\u064b\u0627 \u0645\u0646 \u062c\u0648\u062f\u0629 \u0627\u0644\u0645\u0646\u062a\u062c. \u0648\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0630\u0627\u062a \u0627\u0644\u0635\u0644\u0629 \u0647\u064a: \u0645\u0627 \u0647\u064a \u0627\u0644\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062a\u0637\u0644\u0628 \u0645\u0648\u0627\u0641\u0642\u0629\u061f \u0648\u0645\u0627 \u0627\u0644\u0630\u064a \u064a\u0645\u0643\u0646 \u0644\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064a\u0647 \u0628\u0634\u0643\u0644 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u061f \u0648\u0645\u0627 \u0645\u062f\u0649 \u0648\u0636\u0648\u062d \u0627\u0644\u062a\u062d\u0630\u064a\u0631 \u0627\u0644\u0645\u0633\u0628\u0642 \u0628\u0634\u0623\u0646 \u0627\u0644\u0625\u062c\u0631\u0627\u0621\u0627\u062a \u0627\u0644\u0645\u062d\u0641\u0648\u0641\u0629 \u0628\u0627\u0644\u0645\u062e\u0627\u0637\u0631\u061f \u0648\u0647\u0644 \u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0637\u0648\u0631 \u0641\u062d\u0635 \u0627\u0644\u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0627\u0644\u0646\u0627\u062a\u062c\u0629\u061f.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u0627 \u062a\u0639\u062a\u0628\u0631 \u0623\u0646 \u062a\u0642\u0644\u064a\u0644 \u0639\u062f\u062f \u0645\u0637\u0627\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u064a\u0639\u0646\u064a \u0628\u0627\u0644\u0636\u0631\u0648\u0631\u0629 \u0623\u0646 \u0627\u0644\u0646\u0638\u0627\u0645 \u0623\u0641\u0636\u0644. \u0641\u0627\u0644\u062a\u0642\u0644\u064a\u0644 \u0645\u0646 \u0627\u0644\u0639\u0642\u0628\u0627\u062a \u0645\u0641\u064a\u062f \u0641\u064a \u0628\u064a\u0626\u0629 \u0645\u0639\u0632\u0648\u0644\u0629 \u0644\u0627 \u062a\u062a\u0636\u0645\u0646 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0639\u062a\u0645\u0627\u062f \u0623\u0648 \u0627\u062a\u0635\u0627\u0644\u0627\u062a \u0628\u0627\u0644\u0625\u0646\u062a\u0627\u062c. \u0644\u0643\u0646 \u0627\u0644\u0633\u0644\u0648\u0643 \u0646\u0641\u0633\u0647 \u0642\u062f \u064a\u0643\u0648\u0646 \u062e\u0637\u064a\u0631\u064b\u0627 \u0641\u064a \u0645\u0633\u062a\u0648\u062f\u0639 \u0645\u0631\u062a\u0628\u0637 \u0628\u0628\u0631\u0627\u0645\u062c \u0646\u0635\u064a\u0629 \u0644\u0644\u0646\u0634\u0631\u060c \u0623\u0648 \u0628\u0628\u064a\u0627\u0646\u0627\u062a \u0639\u0645\u0644\u0627\u0621 \u062d\u0642\u064a\u0642\u064a\u0629\u060c \u0623\u0648 \u0628\u0623\u0630\u0648\u0646\u0627\u062a \u0633\u062d\u0627\u0628\u064a\u0629 \u0648\u0627\u0633\u0639\u0629 \u0627\u0644\u0646\u0637\u0627\u0642. \u0648\u0639\u0644\u0649 \u0627\u0644\u0639\u0643\u0633 \u0645\u0646 \u0630\u0644\u0643\u060c \u0641\u0625\u0646 \u0627\u0644\u0625\u0641\u0631\u0627\u0637 \u0641\u064a \u0637\u0644\u0628\u0627\u062a \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0642\u062f \u064a\u062c\u0639\u0644 \u0627\u0644\u0623\u062a\u0645\u062a\u0629 \u0627\u0644\u0622\u0645\u0646\u0629 \u063a\u064a\u0631 \u0639\u0645\u0644\u064a\u0629\u060c \u0648\u064a\u0634\u062c\u0639 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0639\u0644\u0649 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u0649 \u0627\u0644\u0637\u0644\u0628\u0627\u062a \u062f\u0648\u0646 \u0642\u0631\u0627\u0621\u062a\u0647\u0627.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0633\u062a\u062e\u062f\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0646\u0627 \u0646\u0633\u062e\u064b\u0627 \u0645\u062d\u0644\u064a\u0629 \u062d\u062f\u064a\u062b\u0629\u060c \u062f\u0648\u0646 \u0627\u0644\u0644\u062c\u0648\u0621 \u0625\u0644\u0649 \u0623\u0646\u0638\u0645\u0629 \u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0623\u0648 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0646\u0634\u0631\u060c \u0648\u062f\u0648\u0646 \u0623\u064a \u062a\u062f\u062e\u0644 \u0628\u0634\u0631\u064a \u0641\u064a \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u0639\u0644\u064a. \u0648\u0628\u0627\u0644\u062a\u0627\u0644\u064a\u060c \u0641\u0625\u0646\u0647 \u064a\u0642\u064a\u0651\u0645 \u0625\u0646\u062c\u0627\u0632 \u0627\u0644\u0645\u0647\u0627\u0645 \u0641\u064a \u0638\u0644 \u0638\u0631\u0648\u0641 \u0622\u0645\u0646\u0629\u060c \u0648\u0644\u064a\u0633 \u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0623\u0645\u0627\u0646 \u0627\u0644\u0646\u0633\u0628\u064a \u0644\u0644\u0645\u0646\u062a\u062c\u064a\u0646. \u0642\u0628\u0644 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0623\u064a \u0645\u0646 \u0647\u0627\u062a\u064a\u0646 \u0627\u0644\u0623\u062f\u0627\u062a\u064a\u0646 \u0641\u064a \u0623\u0639\u0645\u0627\u0644 \u0645\u0647\u0645\u0629\u060c \u0627\u0628\u062f\u0623 \u0628\u0627\u0644\u0648\u0635\u0648\u0644 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u060c \u0648\u062d\u062f\u062f \u0627\u0644\u062f\u0644\u0627\u0626\u0644 \u0648\u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627\u060c \u0648\u0631\u0627\u062c\u0639 \u0627\u0644\u0641\u0631\u0648\u0642\u060c \u0648\u0642\u0645 \u0628\u0625\u062c\u0631\u0627\u0621 \u0641\u062d\u0648\u0635\u0627\u062a \u0645\u0648\u0636\u0648\u0639\u064a\u0629 \u0641\u064a \u0628\u064a\u0626\u0629 \u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0627\u0633\u062a\u0639\u0627\u062f\u0629.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u0627\u0628\u062f\u0623 \u0628\u0628\u0646\u064a\u0629 \u00ab\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u00bb \u0623\u0648 \u062e\u0630 \u0627\u0644\u0645\u062e\u0627\u0637\u0631\u0629.<\/li>\n\n\n\n<li>\u0644\u0627 \u062a\u0648\u0627\u0641\u0642 \u0625\u0644\u0627 \u0639\u0644\u0649 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u062a\u064a \u062a\u0641\u0647\u0645 \u0646\u0637\u0627\u0642\u0647\u0627 \u0648\u0646\u062a\u0627\u0626\u062c\u0647\u0627.<\/li>\n\n\n\n<li>\u0627\u062d\u0631\u0635 \u0639\u0644\u0649 \u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0638 \u0628\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f \u0648\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0648\u0648\u0635\u0648\u0644 \u0627\u0644\u0646\u0634\u0631 \u062e\u0627\u0631\u062c \u0646\u0637\u0627\u0642 \u0627\u0644\u0625\u0635\u062f\u0627\u0631 \u0627\u0644\u062a\u062c\u0631\u064a\u0628\u064a.<\/li>\n\n\n\n<li>\u0627\u0634\u062a\u0631\u0637 \u0648\u062c\u0648\u062f \u0645\u0644\u0641 \u00abdiff\u00bb \u0648\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u0645\u0633\u0627\u0631 \u062a\u0631\u0627\u062c\u0639 \u0648\u0627\u0636\u062d \u0642\u0628\u0644 \u0642\u0628\u0648\u0644 \u0627\u0644\u0646\u062a\u064a\u062c\u0629.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"customization\" class=\"wp-block-heading\">MCP\u060c \u0648\u0627\u0644\u0645\u0647\u0627\u0631\u0627\u062a\u060c \u0648\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0634\u0631\u0648\u0639\u060c \u0648\u0627\u0644\u062a\u062e\u0635\u064a\u0635<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0645\u0643\u0646 \u062a\u0648\u0633\u064a\u0639 \u0643\u0644\u0627 \u0627\u0644\u0646\u0638\u0627\u0645\u064a\u0646 \u0627\u0644\u0628\u064a\u0626\u064a\u064a\u0646\u060c \u0644\u0643\u0646 \u0644\u0627 \u064a\u0646\u0628\u063a\u064a \u0627\u0639\u062a\u0628\u0627\u0631 \u0645\u0635\u0637\u0644\u062d\u064a \u00ab\u0627\u0644\u062a\u0648\u0633\u064a\u0639\u00bb \u0648\u00ab\u0627\u0644\u0627\u0645\u062a\u062f\u0627\u062f\u00bb \u0645\u062a\u0631\u0627\u062f\u0641\u064a\u0646. \u0641\u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u0645\u0634\u0631\u0648\u0639 \u062a\u0631\u0634\u062f \u0627\u0644\u0648\u0643\u064a\u0644 \u0625\u0644\u0649 \u0643\u064a\u0641\u064a\u0629 \u0627\u0644\u062a\u0635\u0631\u0641 \u062f\u0627\u062e\u0644 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639. \u0623\u0645\u0627 \u00ab\u0627\u0644\u0645\u0647\u0627\u0631\u0627\u062a \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u00bb \u0641\u0647\u064a \u0639\u0628\u0627\u0631\u0629 \u0639\u0646 \u062d\u0632\u0645\u0629 \u062a\u0636\u0645 \u0633\u064a\u0631 \u0639\u0645\u0644 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0643\u0631\u0627\u0631 \u0623\u0648 \u062e\u0628\u0631\u0629 \u0645\u0639\u064a\u0646\u0629. \u0648\u064a\u0642\u0648\u0645 \u00abMCP\u00bb \u0628\u0631\u0628\u0637 \u0627\u0644\u0645\u0636\u064a\u0641 \u0628\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0623\u0648 \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062e\u0627\u0631\u062c\u064a\u0629. \u0648\u064a\u0645\u0643\u0646 \u0644\u0640\u00ab\u0627\u0644\u062e\u0637\u0627\u0641\u0627\u062a\u00bb \u0648\u00ab\u0627\u0644\u0623\u0648\u0627\u0645\u0631\u00bb \u0623\u062a\u0645\u062a\u0629 \u0645\u0631\u0627\u062d\u0644 \u0645\u0639\u064a\u0646\u0629 \u0641\u064a \u062f\u0648\u0631\u0629 \u0627\u0644\u062a\u0637\u0648\u064a\u0631. \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0627\u0644\u0645\u0646\u062a\u062c \u0642\u0648\u064a\u064b\u0651\u0627 \u0641\u064a \u0637\u0628\u0642\u0629 \u0645\u0627 \u062f\u0648\u0646 \u0623\u0646 \u064a\u0637\u0627\u0628\u0642 \u0645\u064a\u0632\u0629 \u0623\u062e\u0631\u0649 \u0628\u0634\u0643\u0644 \u062a\u0627\u0645.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0644\u0633\u0624\u0627\u0644 \u0627\u0644\u0623\u0633\u0627\u0633\u064a \u0639\u0646\u062f \u0627\u0644\u0634\u0631\u0627\u0621 \u0644\u064a\u0633 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0634\u0639\u0627\u0631 \u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0645\u0648\u062c\u0648\u062f\u064b\u0627 \u0623\u0645 \u0644\u0627\u060c \u0628\u0644 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0645\u0646 \u0627\u0644\u0645\u0645\u0643\u0646 \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u0627\u062a\u0635\u0627\u0644 \u0648\u062a\u0648\u062b\u064a\u0642\u0647 \u0648\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0639\u0644\u064a\u0647 \u0648\u062a\u0634\u063a\u064a\u0644\u0647 \u0641\u064a \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0636\u064a\u0641 \u0627\u0644\u0630\u064a \u062a\u0633\u062a\u062e\u062f\u0645\u0647 \u0641\u0639\u0644\u064a\u064b\u0651\u0627. \u0643\u0645\u0627 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062a\u0636\u0645\u0646 \u0646\u0645\u0637 \u0641\u0634\u0644 \u064a\u0645\u0643\u0646 \u0641\u0647\u0645\u0647. \u064a\u0638\u0644 \u062e\u0627\u062f\u0645 MCP \u0627\u0644\u0630\u064a \u064a\u0639\u0645\u0644 \u0628\u0634\u0643\u0644 \u062a\u0641\u0627\u0639\u0644\u064a \u0648\u0644\u0643\u0646\u0647 \u064a\u0646\u062a\u0638\u0631 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0641\u064a \u062c\u0644\u0633\u0629 \u063a\u064a\u0631 \u0645\u0631\u0627\u0642\u0628\u0629 \u0645\u0641\u064a\u062f\u064b\u0627\u060c \u0648\u0644\u0643\u0646 \u0644\u0627 \u064a\u0646\u0628\u063a\u064a \u0648\u0635\u0641\u0647 \u0628\u0623\u0646\u0647 \u0623\u062a\u0645\u062a\u0629 \u062e\u0627\u0644\u064a\u0629 \u0645\u0646 \u0627\u0644\u0639\u0648\u0627\u0626\u0642.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0646\u0637\u0628\u0642 \u0646\u0641\u0633 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645. \u0641\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0637\u0648\u064a\u0644\u0629 \u0644\u0627 \u062a\u0636\u0645\u0646 \u0627\u0644\u0627\u0645\u062a\u062b\u0627\u0644\u060c \u0643\u0645\u0627 \u0623\u0646 \u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0645\u0641\u0631\u0637\u0629 \u0641\u064a \u0627\u0644\u062a\u0639\u0642\u064a\u062f \u0642\u062f \u062a\u062d\u062c\u0628 \u0627\u0644\u0633\u064a\u0627\u0642 \u0623\u0648 \u062a\u0624\u062f\u064a \u0625\u0644\u0649 \u062a\u0646\u0627\u0642\u0636\u0627\u062a. \u0644\u0630\u0627\u060c \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0625\u0631\u0634\u0627\u062f\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0645\u0648\u062c\u0632\u0629 \u0648\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0648\u0645\u0631\u062a\u0628\u0637\u0629 \u0628\u0634\u0643\u0644 \u0648\u062b\u064a\u0642 \u0628\u0627\u0644\u0643\u0648\u062f. \u0648\u0630\u064f\u0643\u0631 \u0641\u064a\u0647\u0627 \u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u062a\u062d\u0642\u0642 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629\u060c \u0648\u0627\u0644\u0645\u0646\u0627\u0637\u0642 \u0627\u0644\u0645\u062d\u0645\u064a\u0629\u060c \u0648\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0623\u0633\u0644\u0648\u0628\u060c \u0648\u0627\u0644\u0644\u062d\u0638\u0627\u062a \u0627\u0644\u062a\u064a \u064a\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u0648\u0643\u064a\u0644 \u0641\u064a\u0647\u0627 \u0627\u0644\u062a\u0648\u0642\u0641 \u0644\u0637\u0644\u0628 \u0627\u0644\u062a\u0648\u062c\u064a\u0647.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0634\u0631\u0648\u0639:<\/strong> \u0627\u0644\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u062a\u062d\u0642\u0642.<\/li>\n\n\n\n<li><strong>\u0627\u0644\u0645\u0647\u0627\u0631\u0627\u062a:<\/strong> \u0625\u062c\u0631\u0627\u0621\u0627\u062a \u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0623\u0648 \u062d\u0632\u0645 \u0627\u0644\u062e\u0628\u0631\u0627\u062a.<\/li>\n\n\n\n<li><strong>MCP:<\/strong> \u0627\u0644\u0631\u0628\u0637 \u0628\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0648\u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0644\u062e\u0627\u0631\u062c\u064a\u0629.<\/li>\n\n\n\n<li><strong>\u0627\u0644\u062e\u0637\u0627\u0641\u0627\u062a \u0648\u0627\u0644\u0623\u0648\u0627\u0645\u0631:<\/strong> \u0627\u0644\u0623\u062a\u0645\u062a\u0629 \u062d\u0648\u0644 \u0623\u062d\u062f\u0627\u062b \u0645\u062d\u062f\u062f\u0629 \u0641\u064a \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644.<\/li>\n<\/ul>\n\n\n\n<h2 id=\"pricing\" class=\"wp-block-heading\">\u0643\u0648\u062f\u064a\u0643\u0633 \u0645\u0642\u0627\u0628\u0644 Claude: \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0648\u062d\u062f\u0648\u062f \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0628\u062f\u0623 \u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u0627\u0642\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0647\u0644\u0643\u064a\u0646 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629 \u0645\u0646 $20 \u0634\u0647\u0631\u064a\u064b\u0651\u0627. \u0648\u064a\u0634\u0645\u0644 \u0630\u0644\u0643 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 Codex \u0645\u0646 \u062e\u0644\u0627\u0644 \u0628\u0627\u0642\u0629 $20 ChatGPT \u0630\u0627\u062a \u0627\u0644\u0635\u0644\u0629\u060c \u0641\u064a \u062d\u064a\u0646 \u062a\u0628\u0644\u063a \u062a\u0643\u0644\u0641\u0629 \u0628\u0627\u0642\u0629 Claude Pro $20 \u0634\u0647\u0631\u064a\u064b\u0651\u0627 \u0641\u064a \u0627\u0644\u0648\u0644\u0627\u064a\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u0629 \u0648\u062a\u0634\u0645\u0644 Claude Code. \u062a\u0642\u062f\u0645 \u0643\u0644\u062a\u0627 \u0627\u0644\u062e\u0637\u062a\u064a\u0646 \u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0633\u062a\u0647\u0644\u0627\u0643 \u0623\u0639\u0644\u0649 \u0628\u0633\u0639\u0631 $100 \u0648$200. \u0648\u0644\u0627 \u062a\u0639\u0646\u064a \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0627\u0644\u0645\u0639\u0644\u0646\u0629 \u0627\u0644\u0645\u062a\u0634\u0627\u0628\u0647\u0629 \u0623\u0646 \u0627\u0644\u0633\u0639\u0629 \u0645\u062a\u0637\u0627\u0628\u0642\u0629.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0628\u0644\u063a \u062a\u0643\u0644\u0641\u0629 \u0628\u0627\u0642\u0629 \u201cClaude Max 5x\u201d $100 \u0634\u0647\u0631\u064a\u064b\u0651\u0627\u060c \u0628\u064a\u0646\u0645\u0627 \u062a\u0628\u0644\u063a \u062a\u0643\u0644\u0641\u0629 \u0628\u0627\u0642\u0629 \u201cMax 20x\u201d $200 \u0634\u0647\u0631\u064a\u064b\u0651\u0627. \u062a\u0634\u064a\u0631 \u0627\u0644\u062a\u0633\u0645\u064a\u062a\u0627\u0646 \u00ab5x\u00bb \u0648\u00ab20x\u00bb \u0625\u0644\u0649 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0644\u0643\u0644 \u062c\u0644\u0633\u0629 \u0645\u0642\u0627\u0631\u0646\u0629\u064b \u0628\u0625\u0635\u062f\u0627\u0631 Pro\u060c \u0648\u0644\u064a\u0633 \u0625\u0644\u0649 \u0639\u062f\u062f \u0645\u0636\u0645\u0648\u0646 \u0645\u0646 \u0645\u0647\u0627\u0645 \u0627\u0644\u0628\u0631\u0645\u062c\u0629. \u064a\u062a\u0634\u0627\u0631\u0643 \u0643\u0644 \u0645\u0646 Claude \u0648Claude Code \u0627\u0644\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627 \u0644\u0643\u0644 \u062c\u0644\u0633\u0629 \u0648\u0627\u0644\u0623\u0633\u0628\u0648\u0639\u064a\u0629. \u0648\u0642\u062f \u064a\u0624\u062b\u0631 \u0637\u0648\u0644 \u0627\u0644\u0633\u064a\u0627\u0642 \u0648\u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0645\u0631\u0641\u0642\u0629 \u0648\u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u064a\u0632\u0627\u062a \u0639\u0644\u0649 \u0633\u0631\u0639\u0629 \u0627\u0633\u062a\u0647\u0644\u0627\u0643 \u0627\u0644\u062d\u0635\u0629 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647\u0627.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-max-plan.webp\" alt=\"\u0635\u0641\u062d\u0629 \u062e\u0637\u0629 Claude Max \u0627\u0644\u062a\u064a \u062a\u0635\u0641 \u0633\u0639\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0641\u064a \u062e\u0637\u062a\u064a Max 5x \u0648Max 20x\" class=\"wp-image-17388\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-max-plan.webp 1280w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-max-plan-300x188.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-max-plan-1024x640.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-max-plan-768x480.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-max-plan-18x12.webp 18w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><figcaption class=\"wp-element-caption\">\u062a\u0635\u0641 \u0627\u0644\u0635\u0641\u062d\u0629 \u0627\u0644\u0631\u0633\u0645\u064a\u0629 \u0644\u062e\u0637\u0629 \u00abMax\u00bb \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640 Claude \u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u0633\u0639\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u064a\u0629 5x \u064820x. \u0648\u0642\u062f \u0648\u0631\u062f\u062a \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0627\u0644\u0634\u0647\u0631\u064a\u0629 \u0641\u064a \u0627\u0644\u0645\u0642\u0627\u0644\u0629 \u0627\u0644\u0631\u0633\u0645\u064a\u0629 \u0646\u0641\u0633\u0647\u0627\u061b \u0648\u0642\u062f \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062e\u0637\u0629 \u0641\u064a \u064a\u0648\u0644\u064a\u0648 2026.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0633\u0645\u062d \u0623\u0631\u0635\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631\u064a\u0629 \u0644\u0640 Claude \u0628\u0645\u0648\u0627\u0635\u0644\u0629 \u0627\u0644\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0645\u0624\u0647\u0644\u0629 \u0628\u0639\u062f \u0627\u0633\u062a\u0646\u0641\u0627\u062f \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u0634\u0645\u0648\u0644 \u0641\u064a \u0627\u0644\u0628\u0627\u0642\u0629 \u0639\u0646\u062f \u062a\u0641\u0639\u064a\u0644\u0647\u0627\u060c \u0648\u064a\u062a\u0645 \u0627\u062d\u062a\u0633\u0627\u0628 \u062a\u0643\u0644\u0641\u0629 \u0647\u0630\u0647 \u0627\u0644\u0623\u0631\u0635\u062f\u0629 \u0628\u0634\u0643\u0644 \u0645\u0646\u0641\u0635\u0644 \u0648\u0641\u0642\u064b\u0627 \u0644\u0623\u0633\u0639\u0627\u0631 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API) \u0627\u0644\u0642\u064a\u0627\u0633\u064a\u0629. \u0648\u062a\u0639\u062f \u0645\u0635\u0627\u062f\u0642\u0629 \u0645\u0641\u062a\u0627\u062d \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API) \u0645\u0633\u0627\u0631\u064b\u0627 \u0622\u062e\u0631 \u0645\u0646\u0641\u0635\u0644\u0627\u064b \u0644\u0644\u0641\u0648\u062a\u0631\u0629. \u0625\u0646 \u0648\u0635\u0641 \u0623\u064a \u0645\u0646 \u0647\u0630\u064a\u0646 \u0627\u0644\u0645\u0633\u0627\u0631\u064a\u0646 \u0628\u0640 \u201c\u063a\u064a\u0631 \u0645\u062d\u062f\u0648\u062f\u201d \u0645\u0646 \u0634\u0623\u0646\u0647 \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u062a\u0643\u0644\u0641\u0629 \u0627\u0644\u0647\u0627\u0645\u0634\u064a\u0629 \u0627\u0644\u0641\u0639\u0644\u064a\u0629.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1280\" height=\"800\" src=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-code-plan-limits.webp\" alt=\"\u0648\u062b\u0627\u0626\u0642 \u062e\u0637\u0629 \u0627\u0644\u0631\u0645\u0632 Claude \u0627\u0644\u062a\u064a \u062a\u0634\u0631\u062d \u0627\u0644\u062c\u0644\u0633\u0627\u062a \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 \u0648\u062d\u062f\u0648\u062f \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0623\u0633\u0628\u0648\u0639\u064a\u0629\" class=\"wp-image-17389\" srcset=\"https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-code-plan-limits.webp 1280w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-code-plan-limits-300x188.webp 300w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-code-plan-limits-1024x640.webp 1024w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-code-plan-limits-768x480.webp 768w, https:\/\/wp.glbgpt.com\/wp-content\/uploads\/2026\/07\/claude-code-plan-limits-18x12.webp 18w\" sizes=\"(max-width: 1280px) 100vw, 1280px\" \/><figcaption class=\"wp-element-caption\">\u064a\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u0631\u0645\u0632 Claude \u0627\u0644\u062d\u0635\u0629 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0627\u0634\u062a\u0631\u0627\u0643 \u0641\u064a \u0625\u0635\u062f\u0627\u0631 Pro \u0623\u0648 Max \u0627\u0644\u0645\u0631\u062a\u0628\u0637\u060c \u0628\u0645\u0627 \u0641\u064a \u0630\u0644\u0643 \u0627\u0644\u062c\u0644\u0633\u0627\u062a \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 \u0648\u0627\u0644\u062d\u062f\u0648\u062f \u0627\u0644\u0623\u0633\u0628\u0648\u0639\u064a\u0629. \u0648\u062a\u062e\u062a\u0644\u0641 \u0627\u0644\u0633\u0639\u0629 \u0627\u0644\u0641\u0639\u0644\u064a\u0629 \u0628\u0627\u062e\u062a\u0644\u0627\u0641 \u062d\u0645\u0644 \u0627\u0644\u0639\u0645\u0644.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">\u0643\u0645\u0627 \u064a\u0642\u0648\u0645 \u00abCodex\u00bb \u0628\u0641\u0635\u0644 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u062e\u0637\u0637 \u0627\u0644\u0645\u0633\u062a\u0647\u0644\u0643\u064a\u0646 \u0627\u0644\u0645\u0636\u0645\u0646\u0629\u060c \u0648\u0627\u0644\u0631\u0635\u064a\u062f \u0627\u0644\u0645\u0634\u062a\u0631\u0627\u0629 \u0627\u0644\u0645\u0624\u0647\u0644\u0629\u060c \u0648\u0641\u0648\u0627\u062a\u064a\u0631 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API). \u0648\u062a\u0634\u062a\u0631\u0643 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0648\u0627\u0644\u0645\u062d\u0627\u062f\u062b\u0627\u062a \u0627\u0644\u0633\u062d\u0627\u0628\u064a\u0629 \u0641\u064a \u0646\u0627\u0641\u0630\u0629 \u0632\u0645\u0646\u064a\u0629 \u0645\u062f\u062a\u0647\u0627 \u062e\u0645\u0633 \u0633\u0627\u0639\u0627\u062a\u060c \u0648\u0642\u062f \u062a\u0646\u0637\u0628\u0642 \u0623\u064a\u0636\u064b\u0627 \u062d\u062f\u0648\u062f \u0623\u0633\u0628\u0648\u0639\u064a\u0629. \u0648\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u062d\u0648\u064a\u0644 \u062d\u0642\u0644 \u0627\u0644\u0631\u0645\u0632 \u0627\u0644\u0645\u0645\u064a\u0632 \u0627\u0644\u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0633\u062c\u0644 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI) \u0645\u0628\u0627\u0634\u0631\u0629\u064b \u0625\u0644\u0649 \u0646\u0633\u0628\u0629 \u0645\u0626\u0648\u064a\u0629 \u0636\u0645\u0646 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u062e\u0645\u0633 \u0633\u0627\u0639\u0627\u062a\u060c \u0623\u0648 \u0645\u0628\u0644\u063a \u0631\u0635\u064a\u062f \u0627\u0644\u0627\u0634\u062a\u0631\u0627\u0643\u060c \u0623\u0648 \u0641\u0627\u062a\u0648\u0631\u0629 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u0641\u0631\u062f\u064a\u0629 \u0627\u0644\u062a\u064a \u062a\u062a\u0645 \u0645\u0646 \u062d\u064a\u0646 \u0644\u0622\u062e\u0631\u060c \u062a\u064f\u0639\u062f \u0641\u0626\u0629 $20 \u0639\u0644\u0649 \u0623\u064a \u0645\u0646 \u0627\u0644\u062c\u0627\u0646\u0628\u064a\u0646 \u0646\u0642\u0637\u0629 \u0627\u0646\u0637\u0644\u0627\u0642 \u0645\u0639\u0642\u0648\u0644\u0629. \u0642\u062f \u064a\u0628\u0631\u0631 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u064a\u0648\u0645\u064a \u0639\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0641\u064a \u0633\u064a\u0627\u0642\u0627\u062a \u0637\u0648\u064a\u0644\u0629 \u0627\u062e\u062a\u064a\u0627\u0631 \u0641\u0626\u0629 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0623\u0639\u0644\u0649\u060c \u0648\u0644\u0643\u0646 \u0641\u0642\u0637 \u0628\u0639\u062f \u0645\u0631\u0627\u0642\u0628\u0629 \u0639\u0645\u0644\u064a\u0627\u062a \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0639\u064a\u064a\u0646 \u0627\u0644\u0641\u0639\u0644\u064a\u0629 \u0648\u0627\u0633\u062a\u0647\u0644\u0627\u0643 \u0627\u0644\u0645\u0647\u0627\u0645. \u0623\u0645\u0627 \u0627\u0644\u0639\u0645\u0644 \u0627\u0644\u0645\u062a\u0648\u0627\u0632\u064a \u0627\u0644\u0645\u0643\u062b\u0641 \u0641\u064a\u062d\u062a\u0627\u062c \u0625\u0644\u0649 \u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0639\u0646\u0627\u064a\u0629: \u0641\u0627\u0644\u062f\u0641\u0639 \u0645\u0642\u0627\u0628\u0644 \u0641\u0626\u0629 \u0623\u0643\u0628\u0631 \u0644\u0627 \u064a\u0644\u063a\u064a \u0627\u0644\u062d\u0627\u062c\u0629 \u0625\u0644\u0649 \u0627\u0644\u062a\u062d\u0643\u0645 \u0641\u064a \u0627\u0644\u0633\u064a\u0627\u0642\u060c \u0648\u062a\u0642\u0633\u064a\u0645 \u0627\u0644\u0645\u0647\u0627\u0645\u060c \u0648\u062d\u062c\u0632 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u062f\u0644\u0627\u0644 \u0627\u0644\u0645\u0643\u0644\u0641\u0629 \u0644\u0644\u0623\u0639\u0645\u0627\u0644 \u0627\u0644\u062a\u064a \u062a\u062a\u0637\u0644\u0628 \u062f\u0631\u062c\u0629 \u0639\u0627\u0644\u064a\u0629 \u0645\u0646 \u0627\u0644\u062a\u0642\u062f\u064a\u0631.<\/p>\n\n\n\n<h2 id=\"controlled-test\" class=\"wp-block-heading\">\u0645\u0627 \u062a\u0648\u0635\u0644 \u0625\u0644\u064a\u0647 \u0627\u062e\u062a\u0628\u0627\u0631\u0646\u0627 \u0627\u0644\u0645\u0642\u0627\u0631\u0646 \u0628\u064a\u0646 \u0643\u0648\u062f\u064a\u0643\u0633 \u0648Claude<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0645\u0646\u0627 \u0628\u062a\u062b\u0628\u064a\u062a \u0623\u0631\u0628\u0639\u0629 \u0623\u0633\u0626\u0644\u0629 \u0628\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0625\u0646\u062c\u0644\u064a\u0632\u064a\u0629\u060c \u0648\u0645\u0643\u062a\u0628\u0629 Python \u0639\u0627\u0645\u0629\u060c \u0648\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0645\u0648\u0636\u0648\u0639\u064a\u0629\u060c \u0648\u0645\u0639\u064a\u0627\u0631 \u062a\u0642\u064a\u064a\u0645\u060c \u0648\u0642\u0627\u0639\u062f\u0629 \u00ab\u0623\u0648\u0644 \u0646\u062a\u064a\u062c\u0629 \u0635\u062d\u064a\u062d\u0629\u00bb \u0642\u0628\u0644 \u062a\u0634\u063a\u064a\u0644 \u0623\u064a \u0645\u0646 \u0627\u0644\u0648\u0643\u0644\u0627\u0621. \u0648\u0634\u0645\u0644\u062a \u0627\u0644\u0645\u0647\u0627\u0645 \u0641\u0647\u0645 \u0645\u0633\u062a\u0648\u062f\u0639 \u063a\u064a\u0631 \u0645\u0623\u0644\u0648\u0641\u060c \u0648\u0645\u064a\u0632\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a\u060c \u0648\u0625\u0635\u0644\u0627\u062d \u062e\u0637\u0623 \u0641\u064a \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a (DST)\u060c \u0648\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f \u0645\u0639 \u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u062a\u0635\u062d\u064a\u062d\u0627\u062a. \u0644\u0645 \u062a\u062e\u0636\u0639 \u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0644\u0623\u064a \u062a\u062f\u062e\u0644 \u0628\u0634\u0631\u064a\u060c \u0648\u0644\u0645 \u064a\u0643\u0646 \u0628\u0627\u0644\u0625\u0645\u0643\u0627\u0646 \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u062e\u0631\u062c\u0627\u062a \u0627\u0644\u0636\u0639\u064a\u0641\u0629 \u0648\u0644\u0643\u0646 \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u062f\u0631\u062c\u0629 \u0623\u0641\u0636\u0644.<\/p>\n\n\n\n<style>.comparison-setup-card{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}.comparison-setup-card *{box-sizing:border-box}.comparison-setup-card .s-head{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.comparison-setup-card .s-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.comparison-setup-card h3{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.comparison-setup-card .s-sub{margin:7px 0 0;color:var(--body);font-size:13px}.comparison-setup-card .s-body{padding:24px 26px}.comparison-setup-card .s-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.comparison-setup-card .s-stat{padding:15px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.comparison-setup-card .s-stat span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.comparison-setup-card .s-stat strong{display:block;margin-top:5px;font-size:20px}.comparison-setup-card table{width:100%;border-collapse:collapse;font-size:12px}.comparison-setup-card th,.comparison-setup-card td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.comparison-setup-card th{background:var(--soft)}.comparison-setup-card .s-note{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--blue);background:#f3f5ff;color:#38466c;font-size:12px}.comparison-setup-card details{margin-top:12px;border:1px solid var(--line);border-radius:6px}.comparison-setup-card summary{cursor:pointer;padding:12px 14px;font-size:12px;font-weight:800}.comparison-setup-card pre{max-height:560px;overflow:auto;margin:0;padding:14px;white-space:pre-wrap;background:#f5f6f8;color:#222936;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:680px){.comparison-setup-card .s-grid{grid-template-columns:1fr}.comparison-setup-card .s-head,.comparison-setup-card .s-body{padding:20px}}<\/style><aside class=\"comparison-setup-card\"><header class=\"s-head\"><p class=\"s-kicker\">\u0643\u064a\u0641 \u062a\u0645 \u0625\u062c\u0631\u0627\u0621 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631<\/p><h3>\u0627\u0644\u0645\u0647\u0627\u0645 \u0646\u0641\u0633\u0647\u0627\u060c \u0627\u0644\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u062b\u0627\u0628\u062a\u0629\u060c \u0627\u0644\u0646\u062a\u0627\u0626\u062c \u0627\u0644\u0635\u062d\u064a\u062d\u0629 \u0627\u0644\u0623\u0648\u0644\u0649<\/h3><\/header><div class=\"s-body\"><div class=\"s-grid\"><div class=\"s-stat\"><span>\u0643\u0648\u062f\u0643\u0633<\/span><strong>gpt-5.6-sol<\/strong><small>\u0645\u062a\u0648\u0633\u0637 T1\u2013T3 \u00b7 \u0645\u0631\u062a\u0641\u0639 T4<\/small><\/div><div class=\"s-stat\"><span>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><strong>\u0643\u0644\u0648\u062f - \u0627\u0644\u0623\u0648\u0628\u0648\u0633 \u0631\u0642\u0645 5<\/strong><small>\u0627\u0644\u0643\u0634\u0641 \u0639\u0646 \u062e\u0637\u0629 \u0627\u0644\u0628\u062f\u064a\u0644 \u0644\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0641\u0631\u0639\u064a<\/small><\/div><\/div><table><tbody><tr><th>\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u0628\u0627\u0631\u064a\u0627\u062a<\/th><td>\u0645\u0633\u062a\u0648\u062f\u0639 \u0635\u063a\u064a\u0631 \u0644\u0640 Python \u0645\u062e\u0635\u0635 \u0644\u0644\u062c\u0645\u0647\u0648\u0631 \u0627\u0644\u0639\u0627\u0645 \u0648\u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0645\u0643\u062a\u0628\u0627\u062a \u0642\u064a\u0627\u0633\u064a\u0629 \u0641\u0642\u0637<\/td><\/tr><tr><th>\u0642\u0627\u0639\u062f\u0629 \u0625\u0646\u0647\u0627\u0621 \u0627\u0644\u0645\u0628\u0627\u0631\u0627\u0629<\/th><td>\u064a\u062a\u0645 \u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0638 \u0628\u0623\u0648\u0644 \u0646\u062a\u064a\u062c\u0629 \u0635\u062d\u064a\u062d\u0629\u061b \u0648\u064a\u064f\u062d\u0638\u0631 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0645\u0646 \u0623\u062c\u0644 \u062a\u062d\u0633\u064a\u0646 \u0627\u0644\u062c\u0648\u062f\u0629<\/td><\/tr><tr><th>\u0627\u0644\u0633\u0644\u0627\u0645\u0629<\/th><td>\u0646\u0633\u062e \u062d\u062f\u064a\u062b\u0629\u060c \u0645\u0647\u0627\u0645 \u063a\u064a\u0631 \u0645\u062a\u0635\u0644\u0629 \u0628\u0627\u0644\u0625\u0646\u062a\u0631\u0646\u062a\u060c \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0628\u064a\u0626\u0629 \u0627\u0644\u0625\u0646\u062a\u0627\u062c\u060c \u0639\u062f\u0645 \u0648\u062c\u0648\u062f \u0639\u0645\u0644\u064a\u0627\u062a \u062f\u0641\u0639 \u0623\u0648 \u0646\u0634\u0631<\/td><\/tr><tr><th>\u0627\u0644\u062a\u0633\u062c\u064a\u0644<\/th><td>\u0645\u0639\u064a\u0627\u0631 \u062a\u0642\u064a\u064a\u0645 \u00ab\u0641\u0631\u0648\u0632\u0646\u00bb \u0627\u0644\u0645\u0643\u0648\u0646 \u0645\u0646 100 \u0646\u0642\u0637\u0629 \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0645\u0633\u062a\u0642\u0644\u0629 \u0627\u0644\u0639\u0644\u0646\u064a\u0629\/\u0627\u0644\u0633\u0631\u064a\u0629<\/td><\/tr><\/tbody><\/table><\/div><\/aside>\n\n\n\n<p class=\"wp-block-paragraph\">\u0642\u0627\u0645 \u00abCodex\u00bb \u0628\u062a\u0634\u063a\u064a\u0644 \u0639\u0645\u0644\u064a\u0627\u062a CLI \u0645\u0639\u0632\u0648\u0644\u0629 \u0645\u0639 \u0627\u0644\u0627\u062d\u062a\u0641\u0627\u0638 \u0628\u0628\u064a\u0627\u0646\u0627\u062a JSONL \u0627\u0644\u0623\u0648\u0644\u064a\u0629 \u0648\u062d\u0642\u0648\u0644 \u0627\u0644\u0631\u0645\u0648\u0632 \u0627\u0644\u062a\u064a \u0623\u0635\u062f\u0631\u062a\u0647\u0627 CLI. \u0648\u0643\u0627\u0646\u062a \u062c\u0644\u0633\u0629 OAuth \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640\u00abClaude CLI\u00bb \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0627\u0644\u0632\u0645\u064a\u0644 \u0642\u062f \u0627\u0646\u062a\u0647\u062a \u0635\u0644\u0627\u062d\u064a\u062a\u0647\u0627\u060c \u0644\u0630\u0627 \u0627\u0633\u062a\u062e\u062f\u0645 \u00abClaude Code\u00bb \u0645\u0646\u0633\u0642\u064b\u0627 \u0645\u0639 \u0633\u064a\u0627\u0642\u0627\u062a \u0648\u0643\u0644\u0627\u0621 \u0641\u0631\u0639\u064a\u064a\u0646 \u062c\u062f\u064a\u062f\u0629. \u0623\u0639\u062f\u0646\u0627 \u0628\u0646\u0627\u0621 \u062a\u0635\u062d\u064a\u062d\u0627\u062a Claude \u0641\u064a \u0646\u0633\u062e \u062a\u062f\u0642\u064a\u0642 \u0646\u0638\u064a\u0641\u0629 \u0648\u0623\u0639\u062f\u0646\u0627 \u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0641\u062d\u0648\u0635\u0627\u062a \u0627\u0644\u0639\u0627\u0645\u0629 \u0648\u0627\u0644\u0645\u062e\u0641\u064a\u0629. \u0648\u0642\u062f \u0623\u0633\u0641\u0631 \u0630\u0644\u0643 \u0639\u0646 \u0623\u062f\u0644\u0629 \u0639\u0645\u0644\u064a\u0629 \u0645\u0648\u062b\u0648\u0642\u0629\u060c \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u0646\u062a\u062c \u0639\u0646\u0647 \u0639\u0632\u0644 \u0645\u062a\u0637\u0627\u0628\u0642 \u0623\u0648 \u0623\u0633\u0637\u062d \u062a\u062d\u0643\u0645 \u0646\u0645\u0648\u0630\u062c\u064a\u0629 \u0645\u062a\u0637\u0627\u0628\u0642\u0629.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>\u0627\u0644\u0645\u0647\u0645\u0629<\/th><th>\u0643\u0648\u062f\u0643\u0633<\/th><th>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/th><th>\u0627\u0644\u062a\u0641\u0633\u064a\u0631 \u0627\u0644\u0645\u062d\u062f\u0648\u062f<\/th><\/tr><\/thead><tbody><tr><td>T1: \u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639<\/td><td>20\/20<\/td><td>20\/20<\/td><td>\u062a\u0639\u0627\u062f\u0644\u061b \u0627\u0644\u0646\u0647\u062c \u0627\u0644\u0645\u0648\u062c\u0632 \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u0646\u0647\u062c \u0627\u0644\u0634\u0627\u0645\u0644<\/td><\/tr><tr><td>T2: \u0645\u064a\u0632\u0629 \u062f\u0639\u0645 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629<\/td><td>30\/30<\/td><td>30\/30<\/td><td>\u0627\u0644\u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0644\u0648\u0638\u064a\u0641\u064a\u061b \u0627\u062e\u062a\u0644\u0627\u0641 \u0646\u0637\u0627\u0642 \u0627\u0644\u062a\u062d\u0642\u0642 \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631<\/td><\/tr><tr><td>T3: \u0625\u0635\u0644\u0627\u062d \u0646\u0638\u0627\u0645 \u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a<\/td><td>30\/30<\/td><td>30\/30<\/td><td>\u0643\u0644\u0627\u0647\u0645\u0627 \u0646\u062c\u062d\u061b \u0631\u0642\u0639\u0629 \u0623\u0636\u064a\u0642 \u0645\u0642\u0627\u0628\u0644 \u062a\u063a\u0637\u064a\u0629 \u0623\u0648\u0633\u0639 \u0644\u0644\u062d\u0648\u0627\u0641<\/td><\/tr><tr><td>T4: \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0648\u0627\u0644\u0625\u0635\u0644\u0627\u062d<\/td><td>18\/20<\/td><td>19\/20<\/td><td>\u0623\u0638\u0647\u0631 \u0627\u0644\u0631\u0645\u0632 Claude \u0646\u0637\u0627\u0642\u064b\u0627 \u0623\u0648\u0633\u0639 \u0644\u0644\u0645\u0631\u0627\u062c\u0639\u0629<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<style>.aggregate-verdict-card{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}.aggregate-verdict-card *{box-sizing:border-box}.aggregate-verdict-card .s-head{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.aggregate-verdict-card .s-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.aggregate-verdict-card h3{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.aggregate-verdict-card .s-sub{margin:7px 0 0;color:var(--body);font-size:13px}.aggregate-verdict-card .s-body{padding:24px 26px}.aggregate-verdict-card .s-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.aggregate-verdict-card .s-stat{padding:15px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.aggregate-verdict-card .s-stat span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.aggregate-verdict-card .s-stat strong{display:block;margin-top:5px;font-size:20px}.aggregate-verdict-card table{width:100%;border-collapse:collapse;font-size:12px}.aggregate-verdict-card th,.aggregate-verdict-card td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.aggregate-verdict-card th{background:var(--soft)}.aggregate-verdict-card .s-note{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--blue);background:#f3f5ff;color:#38466c;font-size:12px}.aggregate-verdict-card details{margin-top:12px;border:1px solid var(--line);border-radius:6px}.aggregate-verdict-card summary{cursor:pointer;padding:12px 14px;font-size:12px;font-weight:800}.aggregate-verdict-card pre{max-height:560px;overflow:auto;margin:0;padding:14px;white-space:pre-wrap;background:#f5f6f8;color:#222936;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:680px){.aggregate-verdict-card .s-grid{grid-template-columns:1fr}.aggregate-verdict-card .s-head,.aggregate-verdict-card .s-body{padding:20px}}<\/style><article class=\"aggregate-verdict-card\"><header class=\"s-head\"><p class=\"s-kicker\">\u0627\u062e\u062a\u0628\u0627\u0631 \u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629 \u00b7 \u0645\u0639\u0627\u064a\u064a\u0631 \u0627\u0644\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u0645\u062d\u062f\u062f\u0629 \u0645\u0633\u0628\u0642\u064b\u0627<\/p><h3>\u0643\u0648\u062f\u0643\u0633 98\/100 \u0645\u0642\u0627\u0628\u0644 Claude \u0643\u0648\u062f 99\/100<\/h3><p class=\"s-sub\">\u0627\u0644\u0641\u0627\u0631\u0642 \u0628\u0646\u0642\u0637\u0629 \u0648\u0627\u062d\u062f\u0629 \u0644\u0627 \u064a\u064f\u0639\u062f \u0625\u0634\u0627\u0631\u0629 \u0645\u0624\u0643\u062f\u0629 \u0639\u0644\u0649 \u0627\u0644\u0641\u0648\u0632. \u0641\u0627\u0644\u0627\u062e\u062a\u0644\u0627\u0641\u0627\u062a \u0627\u0644\u0645\u0641\u064a\u062f\u0629 \u062a\u062e\u062a\u0644\u0641 \u0628\u0627\u062e\u062a\u0644\u0627\u0641 \u0627\u0644\u0645\u0647\u0645\u0629.<\/p><\/header><div class=\"s-body\"><div class=\"s-grid\"><div class=\"s-stat\"><span>\u0643\u0648\u062f\u0643\u0633<\/span><strong>98\/100<\/strong><\/div><div class=\"s-stat\"><span>\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/span><strong>99\/100<\/strong><\/div><\/div><table><thead><tr><th>\u0645\u062c\u0627\u0644 \u0627\u062a\u062e\u0627\u0630 \u0627\u0644\u0642\u0631\u0627\u0631<\/th><th>\u0627\u0644\u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0645\u0644\u0627\u062d\u0638\u0629<\/th><th>\u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0639\u0645\u0644\u064a\u0629<\/th><\/tr><\/thead><tbody><tr><td>\u0641\u0647\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639<\/td><td>\u062a\u0639\u0627\u062f\u0644 \u00b7 20\/20 \u0644\u0643\u0644 \u0645\u0646\u0647\u0645\u0627<\/td><td>\u0643\u0627\u0646 Claude \u0623\u0643\u062b\u0631 \u0634\u0645\u0648\u0644\u0627\u064b\u061b \u0623\u0645\u0627 \u00ab\u0643\u0648\u062f\u0643\u0633\u00bb \u0641\u0643\u0627\u0646 \u0623\u0643\u062b\u0631 \u0625\u064a\u062c\u0627\u0632\u0627\u064b.<\/td><\/tr><tr><td>\u0645\u064a\u0632\u0629 \u0627\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629<\/td><td>\u062a\u0639\u0627\u062f\u0644 \u00b7 30\/30 \u0644\u0643\u0644 \u0645\u0646\u0647\u0645\u0627<\/td><td>\u0627\u062c\u062a\u0627\u0632 \u0643\u0644\u0627\u0647\u0645\u0627 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062e\u0641\u064a\u0629\u061b \u0648\u0623\u062c\u0631\u0649 Claude \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0623\u0643\u062b\u0631 \u0634\u0645\u0648\u0644\u0627\u064b.<\/td><\/tr><tr><td>\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u062e\u0644\u0644 \u0627\u0644\u0645\u062a\u0639\u0644\u0642 \u0628\u0627\u0644\u062a\u0648\u0642\u064a\u062a \u0627\u0644\u0635\u064a\u0641\u064a<\/td><td>\u062a\u0639\u0627\u062f\u0644 \u00b7 30\/30 \u0644\u0643\u0644 \u0645\u0646\u0647\u0645\u0627<\/td><td>\u063a\u0637\u0649 Claude \u062d\u0648\u0627\u0641\u064b\u0627 \u0623\u0643\u062b\u0631\u061b \u0628\u064a\u0646\u0645\u0627 \u0627\u0633\u062a\u062e\u062f\u0645 \u00ab\u0643\u0648\u062f\u0643\u0633\u00bb \u0627\u0644\u0631\u0642\u0639\u0629 \u0627\u0644\u0623\u0636\u064a\u0642.<\/td><\/tr><tr><td>\u0627\u0644\u0641\u062d\u0635 \u0648\u0627\u0644\u0625\u0635\u0644\u0627\u062d<\/td><td>Claude 19\/20\u061b \u0627\u0644\u0645\u062e\u0637\u0648\u0637\u0629 18\/20<\/td><td>\u0648\u0642\u062f \u0643\u0634\u0641\u062a \u062a\u0642\u0646\u064a\u0629 Claude \u0639\u0646 \u0627\u0644\u0645\u0632\u064a\u062f \u0645\u0646 \u0627\u0644\u0639\u064a\u0648\u0628 \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0644\u062a\u0643\u0631\u0627\u0631.<\/td><\/tr><tr><td>\u0627\u0644\u0633\u0631\u0639\u0629 \u0627\u0644\u0645\u0642\u0627\u0633\u0629<\/td><td>\u0645\u062e\u062a\u0644\u0637<\/td><td>Claude \u0642\u0627\u062f T1\/T2\u061b \u0643\u0648\u062f\u064a\u0643\u0633 \u0642\u0627\u062f T3\/T4.<\/td><\/tr><\/tbody><\/table><p class=\"s-note\"><strong>\u0625\u0641\u0635\u0627\u062d:<\/strong> \u0646\u0641\u0633 \u0627\u0644\u0645\u0637\u0627\u0644\u0628\u0627\u062a \u0648\u0627\u0644\u062a\u0631\u0643\u064a\u0628\u0627\u062a\u060c \u0648\u0644\u0643\u0646 \u0645\u0633\u0627\u0631\u0627\u062a \u0639\u0632\u0644 \u0645\u062e\u062a\u0644\u0641\u0629. \u0644\u0627 \u062a\u0642\u0645 \u0628\u062a\u0639\u0645\u064a\u0645 \u0647\u0630\u0627 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0635\u063a\u064a\u0631 \u0639\u0644\u0649 \u0643\u0644 \u0645\u0633\u062a\u0648\u062f\u0639 \u0623\u0648 \u0637\u0628\u0642\u0629 \u0646\u0645\u0648\u0630\u062c \u0623\u0648 \u062c\u0644\u0633\u0629 \u0645\u0633\u062a\u0642\u0644\u0629.<\/p><\/div><\/article>\n\n\n\n<p class=\"wp-block-paragraph\">\u0647\u0630\u0627 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0635\u063a\u064a\u0631 \u062c\u062f\u064b\u0651\u0627 \u0628\u062d\u064a\u062b \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0644\u0627\u0639\u062a\u0645\u0627\u062f \u0639\u0644\u064a\u0647 \u0644\u062a\u0642\u064a\u064a\u0645 \u0627\u0644\u0623\u062f\u0627\u0621 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0627\u0644\u0643\u0628\u064a\u0631\u0629\u060c \u0623\u0648 \u0641\u064a \u062c\u0645\u064a\u0639 \u0627\u0644\u0644\u063a\u0627\u062a\u060c \u0623\u0648 \u0641\u064a \u062c\u0645\u064a\u0639 \u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0646\u0645\u0627\u0630\u062c\u060c \u0623\u0648 \u0641\u064a \u0627\u0644\u062c\u0644\u0633\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0642\u0644\u0629 \u0627\u0644\u0637\u0648\u064a\u0644\u0629. \u0648\u0645\u0646 \u0627\u0644\u0623\u0641\u0636\u0644 \u062a\u0641\u0633\u064a\u0631 \u0627\u0644\u0641\u0627\u0631\u0642 \u0627\u0644\u0625\u062c\u0645\u0627\u0644\u064a \u0627\u0644\u0628\u0627\u0644\u063a \u0646\u0642\u0637\u0629 \u0648\u0627\u062d\u062f\u0629 \u0639\u0644\u0649 \u0623\u0646\u0647 \u201c\u0646\u062c\u062d \u0643\u0644\u0627\u0647\u0645\u0627\u060c \u0645\u0639 \u0627\u062e\u062a\u0644\u0627\u0641 \u0641\u064a \u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629\u201d\u060c \u0648\u0644\u064a\u0633 \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0631\u062a\u064a\u0628 \u0634\u0627\u0645\u0644.<\/p>\n\n\n\n<h2 id=\"user-experience\" class=\"wp-block-heading\">\u0645\u0627 \u064a\u0630\u0643\u0631\u0647 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u0648\u0646 \u0627\u0644\u062d\u0642\u064a\u0642\u064a\u0648\u0646 \u2014 \u0648\u0625\u0644\u0649 \u0623\u064a \u0645\u062f\u0649 \u064a\u0645\u0643\u0646 \u0627\u0644\u0648\u062b\u0648\u0642 \u0628\u0647<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0643\u0648\u0646 \u062a\u0639\u0644\u064a\u0642\u0627\u062a \u0627\u0644\u0645\u062c\u062a\u0645\u0639 \u0630\u0627\u062a \u0642\u064a\u0645\u0629 \u0639\u0646\u062f\u0645\u0627 \u062a\u062a\u0636\u0645\u0646 \u0645\u0634\u0631\u0648\u0639\u064b\u0627 \u0623\u0648 \u0645\u0647\u0645\u0629 \u0623\u0648 \u0646\u0645\u0648\u0630\u062c\u064b\u0627 \u0623\u0648 \u0633\u064a\u0627\u0642\u064b\u0627 \u0644\u0644\u062c\u0647\u062f \u0623\u0648 \u0623\u0641\u0642\u064b\u0627 \u0632\u0645\u0646\u064a\u064b\u0627. \u0648\u062a\u0643\u0648\u0646 \u0636\u0639\u064a\u0641\u0629 \u0639\u0646\u062f\u0645\u0627 \u064a\u0642\u062a\u0635\u0631 \u0627\u0644\u0645\u0646\u0634\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0625\u0634\u0627\u0631\u0629 \u0625\u0644\u0649 \u0623\u0646 \u0645\u0646\u062a\u062c\u064b\u0627 \u0645\u0627 \u201c\u064a\u0628\u062f\u0648 \u0623\u0643\u062b\u0631 \u0630\u0643\u0627\u0621\u064b\u201d \u0623\u0648 \u201c\u0623\u0633\u0631\u0639 \u0628\u0643\u062b\u064a\u0631\u201d. \u0648\u064a\u0642\u0648\u0645 \u0645\u0633\u062a\u062e\u062f\u0645\u0648\u0646 \u0645\u062e\u062a\u0644\u0641\u0648\u0646 \u0628\u0645\u0642\u0627\u0631\u0646\u0629 \u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629\u060c \u0648\u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0634\u062a\u0631\u0627\u0643 \u0645\u062e\u062a\u0644\u0641\u0629\u060c \u0648\u0645\u0637\u0627\u0644\u0628\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629\u060c \u0648\u0645\u0644\u062d\u0642\u0627\u062a \u0645\u062e\u062a\u0644\u0641\u0629\u060c \u0648\u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0625\u0634\u0631\u0627\u0641 \u0645\u062e\u062a\u0644\u0641\u0629.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0634\u064a\u0631 \u0627\u0644\u0645\u062b\u0627\u0644 \u0627\u0644\u0633\u064a\u0627\u0642\u064a \u0627\u0644\u0645\u0623\u062e\u0648\u0630 \u0645\u0646 \u0645\u0648\u0642\u0639 Reddit \u0623\u0639\u0644\u0627\u0647 \u0625\u0644\u0649 \u0648\u062c\u0648\u062f \u0645\u0641\u0627\u0636\u0644\u0629 \u0641\u064a \u0627\u0644\u062a\u0641\u0627\u0639\u0644: \u0641\u0627\u0644\u0633\u0631\u0639\u0629 \u0648\u0627\u0644\u0637\u0627\u0628\u0639 \u0627\u0644\u062d\u0648\u0627\u0631\u064a \u0642\u062f \u064a\u062a\u0637\u0644\u0628\u0627\u0646 \u0645\u0632\u064a\u062f\u064b\u0627 \u0645\u0646 \u0627\u0644\u0627\u0646\u062a\u0628\u0627\u0647\u060c \u0641\u064a \u062d\u064a\u0646 \u0623\u0646 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0645\u062f\u0631\u0648\u0633 \u0642\u062f \u064a\u0628\u062f\u0648 \u0623\u0628\u0637\u0623 \u0648\u0644\u0643\u0646\u0647 \u064a\u062a\u0637\u0644\u0628 \u062a\u0635\u062d\u064a\u062d\u0627\u062a \u0623\u0642\u0644. \u0644\u0627 \u064a\u062a\u0637\u0627\u0628\u0642 \u0627\u062e\u062a\u0628\u0627\u0631\u0646\u0627 \u0627\u0644\u062e\u0627\u0636\u0639 \u0644\u0644\u0631\u0642\u0627\u0628\u0629 \u0625\u0644\u0627 \u062c\u0632\u0626\u064a\u064b\u0627 \u0645\u0639 \u0630\u0644\u0643 \u0627\u0644\u062d\u0633\u0627\u0628. \u0641\u0642\u062f \u0623\u0638\u0647\u0631 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0633\u0631\u0639\u0627\u062a \u0645\u062a\u0641\u0627\u0648\u062a\u0629 \u0648\u063a\u064a\u0627\u0628 \u0627\u0644\u062a\u062f\u062e\u0644 \u0627\u0644\u0628\u0634\u0631\u064a \u0641\u064a \u0627\u0644\u062a\u062c\u0627\u0631\u0628 \u0627\u0644\u0635\u0627\u0644\u062d\u0629\u060c \u0644\u0630\u0627 \u0644\u0627 \u064a\u0645\u0643\u0646\u0647 \u062a\u0623\u0643\u064a\u062f \u0635\u062d\u0629 \u0627\u0644\u0627\u062f\u0639\u0627\u0621 \u0627\u0644\u0645\u062a\u0639\u0644\u0642 \u0628\u0640\u00ab\u0627\u0644\u0645\u0631\u0627\u0642\u0628\u0629\u00bb. \u0648\u0647\u0630\u0627 \u0628\u0627\u0644\u0636\u0628\u0637 \u0647\u0648 \u0627\u0644\u0633\u0628\u0628 \u0627\u0644\u0630\u064a \u064a\u062c\u0639\u0644 \u0645\u0646 \u0627\u0644\u0636\u0631\u0648\u0631\u064a \u0639\u0631\u0636 \u0623\u062f\u0644\u0629 \u0627\u0644\u0645\u062c\u062a\u0645\u0639 \u0648\u0627\u0644\u0623\u062f\u0644\u0629 \u0627\u0644\u062e\u0627\u0636\u0639\u0629 \u0644\u0644\u0631\u0642\u0627\u0628\u0629 \u0645\u0639\u064b\u0627 \u062f\u0648\u0646 \u062f\u0645\u062c\u0647\u0645\u0627.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u062b\u064a\u0631 \u0627\u0644\u062a\u0639\u0644\u064a\u0642 \u0627\u0644\u0645\u062a\u0639\u0644\u0642 \u0628\u0640\u00abX harness\u00bb \u0646\u0642\u0637\u0629 \u0645\u0641\u064a\u062f\u0629 \u062b\u0627\u0646\u064a\u0629: \u0625\u0646 \u0646\u062a\u064a\u062c\u0629 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u062a\u0646\u062a\u0645\u064a \u0625\u0644\u0649 \u0627\u0644\u0646\u0638\u0627\u0645 \u0628\u0623\u0643\u0645\u0644\u0647\u060c \u0648\u0644\u064a\u0633 \u0641\u0642\u0637 \u0625\u0644\u0649 \u062a\u0633\u0645\u064a\u0629 \u0627\u0644\u0646\u0645\u0648\u0630\u062c. \u0648\u0644\u0627 \u064a\u0646\u0628\u063a\u064a \u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 \u0623\u064a \u0645\u0646 \u0627\u0644\u0645\u0646\u0634\u0648\u0631\u064a\u0646 \u0639\u0644\u0649 \u062d\u062f\u0629 \u0628\u0627\u0639\u062a\u0628\u0627\u0631\u0647\u0645\u0627 \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0633\u062a\u0637\u0644\u0627\u0639\u064a\u0629. \u0627\u0633\u062a\u062e\u062f\u0645\u0647\u0645\u0627 \u0644\u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u062a\u062c\u0631\u0628\u062a\u0643 \u0627\u0644\u062e\u0627\u0635\u0629 \u2014 \u0639\u062f\u062f \u0627\u0644\u062a\u062f\u062e\u0644\u0627\u062a\u060c \u0648\u062d\u062c\u0645 \u0627\u0644\u0641\u0631\u0642\u060c \u0648\u062c\u0648\u062f\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u060c \u0648\u0627\u0644\u062a\u0639\u0627\u0641\u064a \u0645\u0646 \u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636 \u0627\u0644\u062e\u0627\u0637\u0626.<\/p>\n\n\n\n<h2 id=\"globalgpt\" class=\"wp-block-heading\">\u062a\u0648\u0633\u064a\u0639 \u0646\u0637\u0627\u0642 \u0643\u0648\u062f\u0643\u0633 \u0648\u0631\u0645\u0632 Claude \u0644\u064a\u0634\u0645\u0644 GlobalGPT<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">GlobalGPT \u0647\u0648 <a href=\"https:\/\/www.glbgpt.com\/hub\/best-all-in-one-ai-tools-and-platforms-11-options-compared\/\">\u0645\u0633\u0627\u062d\u0629 \u0639\u0645\u0644 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0648\u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0648\u0633\u0627\u0626\u0637<\/a>, \u060c \u0648\u0644\u0627 \u064a\u064f\u0639\u062f \u0628\u062f\u064a\u0644\u0627\u064b \u0639\u0646 \u0648\u0643\u0644\u0627\u0621 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0623\u0635\u0644\u064a\u064a\u0646. \u0648\u064a\u062a\u0645\u062b\u0644 \u062f\u0648\u0631\u0647 \u0627\u0644\u0639\u0645\u0644\u064a \u0641\u064a \u062a\u0648\u0633\u064a\u0639 \u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0636\u064a\u0641 \u0627\u0644\u062d\u0627\u0644\u064a: \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0646\u0645\u0648\u0630\u062c \u0648\u0643\u064a\u0644 \u0622\u062e\u0631 \u0645\u062a\u0627\u062d \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0631\u0623\u064a \u062b\u0627\u0646\u064d \u0623\u0648 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u062e\u0637\u0629 \u0623\u0648 \u0625\u062a\u0645\u0627\u0645 \u0627\u0644\u062a\u0648\u062b\u064a\u0642 \u0623\u0648 \u0625\u0646\u062a\u0627\u062c \u0645\u062e\u0631\u062c\u0627\u062a \u0645\u062a\u062e\u0635\u0635\u0629\u060c \u0628\u064a\u0646\u0645\u0627 \u064a\u0638\u0644 \u0643\u0644 \u0645\u0646 Codex \u0623\u0648 Claude Code \u0645\u0633\u0624\u0648\u0644\u064a\u0646 \u0639\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0623\u0648\u0627\u0645\u0631 \u0634\u0644 \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0627\u062a.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0646\u0634\u0631 GlobalGPT \u0623\u062f\u0644\u0629 CLI \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647\u0627 \u0644\u0640 <a href=\"https:\/\/www.glbgpt.com\/hub\/how-to-use-globalgpt-cli-in-codex\/\">\u0643\u0648\u062f\u0643\u0633<\/a> \u0648 <a href=\"https:\/\/www.glbgpt.com\/hub\/how-to-use-globalgpt-cli-in-claude-code\/\">\u0643\u0644\u0648\u062f \u0643\u0648\u062f<\/a>, \u060c \u0628\u0627\u0644\u0625\u0636\u0627\u0641\u0629 \u0625\u0644\u0649 Cursor. \u0641\u064a \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0627\u0644\u0622\u0645\u0646 T5 \u0627\u0644\u0630\u064a \u0623\u062c\u0631\u064a\u0646\u0627\u0647\u060c \u0623\u0646\u062c\u0632\u062a \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI) \u0627\u0644\u0645\u0647\u0645\u0629 \u00ab\u0627\u0644\u0645\u062c\u0645\u062f\u0629\u00bb \u0646\u0641\u0633\u0647\u0627 \u0641\u064a \u0643\u0644\u062a\u0627 \u0627\u0644\u0628\u064a\u0626\u062a\u064a\u0646 \u0627\u0644\u0645\u0642\u0627\u0631\u0646\u062a\u064a\u0646. \u0648\u0641\u064a Codex\u060c \u062a\u062d\u0642\u0642\u0646\u0627 \u0623\u064a\u0636\u064b\u0627 \u0645\u0646 \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0642\u0627\u0626\u0645\u0629 \u0646\u0645\u0627\u0630\u062c MCP \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u060c \u0648\u0642\u0645\u0646\u0627 \u0628\u062a\u062b\u0628\u064a\u062a \u0645\u0647\u0627\u0631\u0629 GlobalGPT \u0648\u062a\u062d\u0645\u064a\u0644\u0647\u0627 \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647\u0627.<\/p>\n\n\n\n<style>.globalgpt-integration-card{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}.globalgpt-integration-card *{box-sizing:border-box}.globalgpt-integration-card .s-head{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.globalgpt-integration-card .s-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.globalgpt-integration-card h3{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.globalgpt-integration-card .s-sub{margin:7px 0 0;color:var(--body);font-size:13px}.globalgpt-integration-card .s-body{padding:24px 26px}.globalgpt-integration-card .s-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.globalgpt-integration-card .s-stat{padding:15px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.globalgpt-integration-card .s-stat span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.globalgpt-integration-card .s-stat strong{display:block;margin-top:5px;font-size:20px}.globalgpt-integration-card table{width:100%;border-collapse:collapse;font-size:12px}.globalgpt-integration-card th,.globalgpt-integration-card td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.globalgpt-integration-card th{background:var(--soft)}.globalgpt-integration-card .s-note{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--blue);background:#f3f5ff;color:#38466c;font-size:12px}.globalgpt-integration-card details{margin-top:12px;border:1px solid var(--line);border-radius:6px}.globalgpt-integration-card summary{cursor:pointer;padding:12px 14px;font-size:12px;font-weight:800}.globalgpt-integration-card pre{max-height:560px;overflow:auto;margin:0;padding:14px;white-space:pre-wrap;background:#f5f6f8;color:#222936;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:680px){.globalgpt-integration-card .s-grid{grid-template-columns:1fr}.globalgpt-integration-card .s-head,.globalgpt-integration-card .s-body{padding:20px}}<\/style><article class=\"globalgpt-integration-card\"><header class=\"s-head\"><p class=\"s-kicker\">\u062a\u0643\u0627\u0645\u0644 GlobalGPT \u00b7 \u0645\u0633\u062a\u0628\u0639\u062f \u0645\u0646 \u062f\u0631\u062c\u0629 \u0627\u0644\u062a\u0631\u0645\u064a\u0632<\/p><h3>\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 CLI \u0641\u064a \u0643\u0644\u0627 \u0645\u0633\u0627\u0631\u064a \u0627\u0644\u0639\u0645\u0644\u061b \u0648\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 MCP \u0648Skill \u0641\u064a Codex<\/h3><p class=\"s-sub\">\u064a\u0642\u064a\u0633 \u0647\u0630\u0627 \u0645\u0633\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u0643\u0627\u0645\u0644\u060c \u0648\u0644\u064a\u0633 \u0645\u0627 \u0625\u0630\u0627 \u0643\u0627\u0646 GlobalGPT \u064a\u062d\u0644 \u0645\u062d\u0644 \u0623\u064a \u0645\u0646 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062a\u0631\u0645\u064a\u0632 \u0627\u0644\u0623\u0635\u0644\u064a\u0629.<\/p><\/header><div class=\"s-body\"><table><thead><tr><th>\u0627\u0644\u0645\u0633\u0627\u0631<\/th><th>\u0628\u064a\u0626\u0629 Codex<\/th><th>\u0633\u0628\u0627\u0642 Claude \u0627\u0644\u0630\u064a \u0646\u0638\u0645\u0647 \u0627\u0644\u0632\u0645\u0644\u0627\u0621<\/th><\/tr><\/thead><tbody><tr><td>GlobalGPT CLI<\/td><td>\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 gpt-5.6-sol \u0648 gpt-5.6-luna<\/td><td>\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647\u0627 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0646\u0641\u0633 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0645\u062c\u0645\u062f\u0629<\/td><\/tr><tr><td>MCP<\/td><td>\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637<\/td><td>\u0644\u0645 \u064a\u0643\u0646 \u0645\u062a\u0635\u0644\u0627\u064b \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u062a\u0634\u063a\u064a\u0644<\/td><\/tr><tr><td>\u0627\u0644\u0645\u0647\u0627\u0631\u0629<\/td><td>\u062a\u0645 \u062a\u0631\u0643\u064a\u0628\u0647\u0627 \u0648\u062a\u062d\u0645\u064a\u0644\u0647\u0627 \u0648\u0627\u062e\u062a\u0628\u0627\u0631\u0647\u0627<\/td><td>\u062a\u0645 \u062a\u062b\u0628\u064a\u062a\u0647 \u0648\u0644\u0643\u0646 \u0644\u0645 \u064a\u064f\u0633\u062a\u062e\u062f\u0645 \u0641\u064a \u0627\u0644\u0645\u0643\u0627\u0644\u0645\u0627\u062a \u0627\u0644\u0645\u062c\u0645\u062f\u0629<\/td><\/tr><tr><td>MCP \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u0627\u0642\u0628<\/td><td>\u062a\u0645 \u0645\u0644\u0627\u062d\u0638\u0629 \u0648\u062c\u0648\u062f \u0642\u064a\u0648\u062f \u0639\u0644\u0649 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629<\/td><td>\u0644\u0645 \u064a\u062a\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0647<\/td><\/tr><\/tbody><\/table><details><summary>\u0639\u0631\u0636 \u0627\u0644\u0623\u062f\u0644\u0629 \u0627\u0644\u0643\u0627\u0645\u0644\u0629 \u0639\u0644\u0649 \u0627\u0644\u062a\u0643\u0627\u0645\u0644<\/summary><pre>\u0645\u0644\u062e\u0635 \u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062a\u0643\u0627\u0645\u0644 # GlobalGPT\n\n\u0646\u0637\u0627\u0642 ##\n\n\u064a\u0642\u064a\u0633 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 T5 \u062a\u0643\u0627\u0645\u0644 GlobalGPT\u060c \u0648\u0647\u0648 \u0645\u0633\u062a\u0628\u0639\u062f \u0645\u0646 \u062f\u0631\u062c\u0629 \u0627\u0644\u062a\u0631\u0645\u064a\u0632 \u0627\u0644\u0623\u0635\u0644\u064a\u0629 \u0641\u064a Codex. \u0644\u0645 \u064a\u062a\u0645 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 Yukie.\n\n## \u0642\u0641\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0648\u062c\u0627\u0647\u0632\u064a\u062a\u0647\n\n- \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0623: `gpt-5.6-sol`\n- \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0628: `gpt-5.6-luna`\n- \u0638\u0647\u0631 \u0643\u0644\u0627 \u0627\u0644\u0646\u0645\u0648\u0630\u062c\u064a\u0646 \u0641\u064a \u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0627\u0644\u062d\u064a\u0629.\n- \u0623\u0639\u0627\u062f\u062a \u0643\u0644\u062a\u0627 \u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629 \u0627\u0644\u062e\u0641\u064a\u0641\u0629 \u0646\u0635\u064b\u0627 \u0635\u0627\u0644\u062d\u064b\u0627 \u0648\u0642\u0627\u0628\u0644\u064b\u0627 \u0644\u0644\u062a\u062d\u0644\u064a\u0644.\n- \u062a\u0645 \u0642\u0641\u0644 \u0627\u0644\u0646\u0645\u0648\u0630\u062c\u064a\u0646 \u0642\u0628\u0644 \u0627\u0633\u062a\u062f\u0639\u0627\u0621\u0627\u062a \u0627\u0644\u0625\u062e\u0631\u0627\u062c \u0627\u0644\u0631\u0633\u0645\u064a\u0629 \u0644\u0640 T5A \u0648 T5B.\n\n## \u0646\u062a\u0627\u0626\u062c CLI \u0627\u0644\u0631\u0633\u0645\u064a\u0629\n\n| \u0627\u0644\u0645\u0647\u0645\u0629 | \u0627\u0644\u0646\u0645\u0648\u0630\u062c | \u0627\u0644\u062d\u0627\u0644\u0629 | \u0627\u0644\u0645\u062f\u0629 | \u0631\u0645\u0648\u0632 \u0627\u0644\u0645\u0637\u0627\u0644\u0628\u0629 | \u0631\u0645\u0648\u0632 \u0627\u0644\u0625\u0643\u0645\u0627\u0644 | \u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629 |\n|---|---|---|---:|---:|---:|---:|\n| T5A | gpt-5.6-sol | \u0635\u0627\u0644\u062d\u0629 | 27 \u062b\u0627\u0646\u064a\u0629 | 2,116 | 1,207 | 6\/6 |\n| T5B | gpt-5.6-luna | \u0635\u0627\u0644\u062d\u0629 | 14 \u062b\u0627\u0646\u064a\u0629 | 2,116 | 1,441 | 6\/6 |\n\n\u0627\u0633\u062a\u062e\u062f\u0645\u062a \u0643\u0644\u062a\u0627 \u0627\u0644\u062f\u0639\u0648\u062a\u064a\u0646 \u0627\u0644\u0631\u0633\u0645\u064a\u062a\u064a\u0646 \u0646\u0641\u0633 \u0645\u0647\u0645\u0629 \u062a\u062e\u0637\u064a\u0637 \u0627\u0644\u0645\u0646\u062a\u062c \u0628\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0625\u0646\u062c\u0644\u064a\u0632\u064a\u0629 \u0627\u0644\u0645\u062c\u0645\u062f\u0629 \u0645\u0646 \u062e\u0644\u0627\u0644 `glbgpt exec`\u060c \u0648\u0623\u0631\u062c\u0639\u062a\u0627 \u0645\u062e\u0631\u062c\u0627\u062a \u0645\u0631\u0626\u064a\u0629 \u0628\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0625\u0646\u062c\u0644\u064a\u0632\u064a\u0629 \u0641\u0642\u0637\u060c \u0648\u0644\u0645 \u062a\u0643\u0634\u0641\u0627 \u0639\u0646 \u0623\u064a \u0628\u064a\u0627\u0646\u0627\u062a \u0627\u0639\u062a\u0645\u0627\u062f. \u0644\u0645 \u062a\u062d\u062f\u062b \u0625\u0639\u0627\u062f\u0629 \u062a\u0634\u063a\u064a\u0644 \u0644\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u062c\u0648\u062f\u0629.\n\n## \u0646\u062a\u064a\u062c\u0629 MCP\n\n- \u0623\u0638\u0647\u0631 `codex mcp list` \u0623\u0646 `globalgpt` \u0645\u0645\u0643\u0651\u0646.\n- \u0627\u0643\u062a\u0634\u0641\u062a \u062c\u0644\u0633\u0629 Codex \u063a\u064a\u0631 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 `mcp__globalgpt__glbgpt_list_models` \u0648\u062d\u0627\u0648\u0644\u062a \u062a\u0646\u0641\u064a\u0630\u0647\u0627\u060c \u0644\u0643\u0646 \u062a\u0645 \u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0628\u0633\u0628\u0628 \u0639\u062f\u0645 \u062a\u0648\u0641\u0631 \u0645\u0648\u0627\u0641\u0642\u0629 MCP \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u0627\u0642\u0628\u0629. \u0644\u0645 \u064a\u062a\u0645 \u062a\u062e\u0641\u064a\u0641 \u0623\u064a \u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0623\u0645\u0627\u0646.\n- \u0646\u062c\u062d\u062a \u062c\u0644\u0633\u0629 Codex \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0627\u0644\u0646\u0634\u0637\u0629 \u0641\u064a \u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u0623\u062f\u0627\u0629 MCP GlobalGPT \u0646\u0641\u0633\u0647\u0627 \u0627\u0644\u0645\u062e\u0635\u0635\u0629 \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u060c \u0648\u062a\u0644\u0642\u062a \u062a\u0633\u0639\u0629 \u0646\u0645\u0627\u0630\u062c \u062f\u0631\u062f\u0634\u0629.\n- \u0627\u0644\u0646\u062a\u064a\u062c\u0629: \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a \u0625\u0644\u0649 MCP\u061b \u0628\u064a\u0646\u0645\u0627 \u064a\u0638\u0644 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u063a\u064a\u0631 \u0627\u0644\u062a\u0641\u0627\u0639\u0644\u064a \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u0627\u0642\u0628 \u0644\u0640 MCP \u062e\u0627\u0636\u0639\u064b\u0627 \u0644\u0642\u064a\u0648\u062f \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629.\n\n\u0646\u062a\u064a\u062c\u0629 \u0645\u0647\u0627\u0631\u0629 ##\n\n- \u062a\u0645 \u062a\u062b\u0628\u064a\u062a \u0645\u0647\u0627\u0631\u0627\u062a \u0627\u0644\u0628\u0631\u0645\u062c\u0629 GlobalGPT \u0648GlobalGPT \u0641\u064a \u062f\u0644\u064a\u0644 \u0645\u0647\u0627\u0631\u0627\u062a Codex \u0645\u0646 \u062e\u0644\u0627\u0644 \u0631\u0648\u0627\u0628\u0637 \u0625\u0644\u0649 \u062d\u0632\u0645\u0629 \u0645\u0647\u0627\u0631\u0627\u062a CLI \u0627\u0644\u0645\u062c\u0645\u0639\u0629.\n- \u062a\u0645 \u062a\u062d\u0645\u064a\u0644 \u0645\u0647\u0627\u0631\u0629 GlobalGPT \u0648\u0645\u062a\u0627\u0628\u0639\u062a\u0647\u0627 \u0644\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u062c\u0644\u0633\u0629 \u0627\u0644\u0645\u064f\u0647\u064a\u0623\u0629\u060c \u0648\u0627\u062e\u062a\u064a\u0627\u0631 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0645\u0628\u0627\u0634\u0631\u060c \u0648\u0627\u0644\u062c\u0627\u0647\u0632\u064a\u0629\u060c \u0648\u062e\u064a\u0627\u0631\u0627\u062a \u0627\u0644\u0623\u0645\u0627\u0646 \u0627\u0644\u0627\u0626\u062a\u0645\u0627\u0646\u064a\u060c \u0648\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0623\u0639\u0637\u0627\u0644.\n- \u0627\u0644\u0646\u062a\u064a\u062c\u0629: \u062a\u0645 \u062a\u062b\u0628\u064a\u062a\u0647\u0627 \u0648\u062a\u062c\u0631\u0628\u062a\u0647\u0627 \u0641\u064a \u0633\u064a\u0631 \u0639\u0645\u0644 Codex \u0627\u0644\u0646\u0634\u0637.\n\n## \u0627\u0633\u062a\u0646\u062a\u0627\u062c \u0645\u062d\u062f\u0648\u062f\n\n\u064a\u062a\u062d\u0642\u0642 \u0647\u0630\u0627 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0645\u0646 \u0639\u0645\u0644 \u0627\u0633\u062a\u062f\u0639\u0627\u0621\u0627\u062a CLI \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640 GlobalGPT\u060c \u0648\u0627\u0633\u062a\u062f\u0639\u0627\u0621 \u062a\u0641\u0627\u0639\u0644\u064a \u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637 \u0644\u0640 GlobalGPT MCP \u0645\u0646 Codex\u060c \u0648\u0645\u0633\u0627\u0631 \u0645\u0647\u0627\u0631\u0629 GlobalGPT \u062a\u0645 \u062a\u062b\u0628\u064a\u062a\u0647 \u0648\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647. \u0648\u0644\u0627 \u062a\u062b\u0628\u062a \u0647\u0630\u0647 \u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u0623\u0646 \u0643\u0644 \u0646\u0645\u0648\u0630\u062c \u0623\u0648 \u0623\u062f\u0627\u0629 \u0648\u0633\u0627\u0626\u0637 \u0623\u0648 \u0645\u0636\u064a\u0641 \u0623\u0648 \u062d\u0633\u0627\u0628 \u0623\u0648 \u062a\u0643\u0648\u064a\u0646 MCP \u063a\u064a\u0631 \u062e\u0627\u0636\u0639 \u0644\u0644\u0625\u0634\u0631\u0627\u0641 \u064a\u0639\u0645\u0644. \u0643\u0645\u0627 \u0623\u0646\u0647\u0627 \u0644\u0627 \u062a\u062e\u062a\u0628\u0631 Yukie \u0648\u0644\u0627 \u062a\u062f\u0639\u0645 \u0627\u0644\u0627\u062f\u0639\u0627\u0621 \u0628\u0623\u0646 GlobalGPT \u064a\u062d\u0644 \u0645\u062d\u0644 Codex \u0623\u0648 Claude Code.\n<\/pre><\/details><p class=\"s-note\">\u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0630\u064a \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647: \u0627\u0633\u062a\u062f\u0639\u0627\u0621\u0627\u062a \u0645\u062d\u062f\u062f\u0629 \u0644\u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI)\u060c \u0648\u0639\u0645\u0644\u064a\u0629 \u0642\u0631\u0627\u0621\u0629 \u062a\u0641\u0627\u0639\u0644\u064a\u0629 \u0648\u0627\u062d\u062f\u0629 \u0639\u0628\u0631 MCP\u060c \u0648\u0645\u0633\u0627\u0631 \u0648\u0627\u062d\u062f \u0644\u0645\u0647\u0627\u0631\u0629 \u062a\u0645 \u062a\u062b\u0628\u064a\u062a\u0647\u0627\/\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u0647\u0627. \u0648\u0644\u0627 \u064a\u064f\u062b\u0628\u062a \u0647\u0630\u0627 \u0627\u0644\u062a\u062d\u0642\u0642 \u0635\u062d\u0629 \u0643\u0644 \u0646\u0645\u0648\u0630\u062c \u0623\u0648 \u0623\u062f\u0627\u0629 \u0648\u0633\u0627\u0626\u0637 \u0623\u0648 \u0645\u0636\u064a\u0641 \u0623\u0648 \u062a\u0643\u0648\u064a\u0646 \u063a\u064a\u0631 \u062e\u0627\u062f\u0645.<\/p><\/div><\/article>\n\n\n\n<p class=\"wp-block-paragraph\">\u0627\u0644\u062d\u062f\u0648\u062f \u0645\u0647\u0645\u0629. \u0641\u0642\u062f \u0623\u062b\u0628\u062a\u062a \u0639\u0645\u0644\u064a\u0629 \u062a\u0634\u063a\u064a\u0644 Claude \u0627\u0644\u062a\u064a \u0623\u062c\u0631\u0627\u0647\u0627 \u0627\u0644\u0632\u0645\u064a\u0644 \u0635\u062d\u0629 \u0645\u0633\u0627\u0631 CLI\u060c \u0648\u0644\u064a\u0633 MCP \u0645\u0646 \u062c\u0627\u0646\u0628 Claude. \u0643\u0627\u0646\u062a \u00ab\u0627\u0644\u0645\u0647\u0627\u0631\u0629\u00bb \u0645\u062b\u0628\u062a\u0629 \u0647\u0646\u0627\u0643\u060c \u0644\u0643\u0646\u0647\u0627 \u0644\u0645 \u062a\u064f\u0633\u062a\u062e\u062f\u0645 \u0641\u064a \u0627\u0644\u0645\u0643\u0627\u0644\u0645\u0627\u062a \u0627\u0644\u0645\u062c\u0645\u062f\u0629. \u0644\u0627 \u062a\u0632\u0627\u0644 \u0645\u062d\u0627\u0648\u0644\u0629 Codex MCP \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u0627\u0642\u0628\u0629 \u062a\u062a\u0637\u0644\u0628 \u0645\u0648\u0627\u0641\u0642\u0629 \u064a\u062f\u0648\u064a\u0629. \u0643\u0645\u0627 \u064a\u0639\u062a\u0645\u062f \u062a\u0648\u0641\u0631 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0648\u0627\u0644\u0631\u0635\u064a\u062f \u0639\u0644\u0649 \u062e\u0637\u0629 GlobalGPT \u0627\u0644\u062d\u0627\u0644\u064a\u0629\u060c \u0644\u0630\u0627 \u064a\u062c\u0628 \u0639\u0644\u0649 \u0627\u0644\u0645\u0637\u0648\u0631\u064a\u0646 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062d\u0627\u0644\u064a\u0629 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u0627\u0641\u062a\u0631\u0627\u0636 \u0623\u0646 \u0643\u0644 \u0646\u0645\u0648\u0630\u062c \u0645\u0634\u0645\u0648\u0644.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u063a\u0637\u064a GlobalGPT \u0623\u064a\u0636\u064b\u0627 \u0627\u0644\u0635\u0648\u0631 \u0648\u0627\u0644\u0641\u064a\u062f\u064a\u0648 \u0648\u0627\u0644\u0635\u0648\u062a \u0648\u0633\u064a\u0631 \u0639\u0645\u0644 \u0627\u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0645\u0648\u062c\u0647. \u062a\u0646\u062f\u0631\u062c \u0625\u062f\u062e\u0627\u0644\u0627\u062a \u00ab\u0627\u0644\u0634\u0631\u0627\u0626\u062d\u00bb \u0648\u00ab\u0627\u0644\u0645\u0633\u062a\u0646\u062f\u0627\u062a\u00bb \u0648\u00ab\u0627\u0644\u0635\u0648\u0631\u00bb \u0641\u064a Yukie \u0636\u0645\u0646 \u0641\u0626\u0629 \u0645\u062e\u062a\u0644\u0641\u0629: \u0641\u0647\u064a \u062a\u0648\u0641\u0631 \u0642\u0648\u0627\u0644\u0628 \u0648\u0627\u0636\u062d\u0629 \u0648\u0625\u0631\u0634\u0627\u062f\u0627\u062a \u062e\u0637\u0648\u0629 \u0628\u062e\u0637\u0648\u0629 \u0639\u0628\u0631 \u0627\u0644\u0645\u062a\u0635\u0641\u062d \u0644\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u062a\u064a \u0644\u0627 \u062a\u062a\u0637\u0644\u0628 \u0643\u062a\u0627\u0628\u0629 \u0643\u0648\u062f. \u0648\u0642\u062f \u064a\u0643\u0648\u0646 \u0630\u0644\u0643 \u0623\u0633\u0647\u0644 \u0645\u0646 \u0641\u062a\u062d \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI) \u0644\u0643\u062a\u0627\u0628\u0629 \u0643\u0648\u062f \u0645\u0646 \u0623\u062c\u0644 \u0625\u0646\u0634\u0627\u0621 \u0639\u0631\u0636 \u062a\u0642\u062f\u064a\u0645\u064a \u0623\u0648 \u0645\u0633\u062a\u0646\u062f \u0645\u0646\u0638\u0645\u060c \u0644\u0643\u0646\u0647 \u0644\u0627 \u064a\u062d\u0644 \u0645\u062d\u0644 \u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0623\u0648 \u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0623\u0648 \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f.<\/p>\n\n\n\n<style>.yukie-workflow-summary-card{--ink:#111318;--body:#414753;--muted:#707784;--line:#e4e7ec;--soft:#f6f7f9;--blue:#315efb;--violet:#7257e8;--green:#087a55;--greenSoft:#eaf8f2;--red:#a23131;--redSoft:#fff0f0;color:var(--ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;line-height:1.5;border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden;box-shadow:0 16px 42px rgba(24,32,56,.08)}.yukie-workflow-summary-card *{box-sizing:border-box}.yukie-workflow-summary-card .s-head{padding:24px 26px 20px;border-bottom:1px solid var(--line)}.yukie-workflow-summary-card .s-kicker{margin:0 0 6px;color:var(--muted);font:750 11px\/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em;text-transform:uppercase}.yukie-workflow-summary-card h3{margin:0;font-size:22px;line-height:1.2;letter-spacing:-.025em}.yukie-workflow-summary-card .s-sub{margin:7px 0 0;color:var(--body);font-size:13px}.yukie-workflow-summary-card .s-body{padding:24px 26px}.yukie-workflow-summary-card .s-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.yukie-workflow-summary-card .s-stat{padding:15px;border:1px solid var(--line);border-radius:6px;background:var(--soft)}.yukie-workflow-summary-card .s-stat span{display:block;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.yukie-workflow-summary-card .s-stat strong{display:block;margin-top:5px;font-size:20px}.yukie-workflow-summary-card table{width:100%;border-collapse:collapse;font-size:12px}.yukie-workflow-summary-card th,.yukie-workflow-summary-card td{padding:11px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}.yukie-workflow-summary-card th{background:var(--soft)}.yukie-workflow-summary-card .s-note{margin:16px 0 0;padding:12px 14px;border-left:3px solid var(--blue);background:#f3f5ff;color:#38466c;font-size:12px}.yukie-workflow-summary-card details{margin-top:12px;border:1px solid var(--line);border-radius:6px}.yukie-workflow-summary-card summary{cursor:pointer;padding:12px 14px;font-size:12px;font-weight:800}.yukie-workflow-summary-card pre{max-height:560px;overflow:auto;margin:0;padding:14px;white-space:pre-wrap;background:#f5f6f8;color:#222936;font:11px\/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@media(max-width:680px){.yukie-workflow-summary-card .s-grid{grid-template-columns:1fr}.yukie-workflow-summary-card .s-head,.yukie-workflow-summary-card .s-body{padding:20px}}<\/style><article class=\"yukie-workflow-summary-card\"><header class=\"s-head\"><p class=\"s-kicker\">\u0641\u0626\u0629 \u0645\u062e\u062a\u0644\u0641\u0629 \u0645\u0646 \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644<\/p><h3>\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0648\u0643\u064a\u0644 \u0627\u0644\u0645\u062a\u0635\u0641\u062d \u0627\u0644\u062a\u064a \u0623\u062f\u0627\u0631\u062a\u0647\u0627 \u064a\u0648\u0643\u064a<\/h3><p class=\"s-sub\">\u0645\u0641\u064a\u062f \u0641\u064a \u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u0648\u064a\u0628 \u0627\u0644\u0645\u062e\u0635\u0635 \u0644\u0645\u0647\u0627\u0645 \u0645\u062d\u062f\u062f\u0629\u061b \u0644\u0645 \u064a\u062a\u0645 \u0627\u062e\u062a\u0628\u0627\u0631\u0647 \u0643\u0628\u062f\u064a\u0644 \u0644\u0648\u0643\u064a\u0644 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639.<\/p><\/header><div class=\"s-body\"><table><thead><tr><th>\u0633\u064a\u0631 \u0627\u0644\u0639\u0645\u0644<\/th><th>\u062a\u0645 \u0627\u0633\u062a\u064a\u0641\u0627\u0621 \u0627\u0644\u0645\u0639\u0627\u064a\u064a\u0631<\/th><th>\u0623\u0648\u0644 \u0646\u062a\u064a\u062c\u0629 \u0635\u062d\u064a\u062d\u0629<\/th><\/tr><\/thead><tbody><tr><td>\u0627\u0644\u0634\u0631\u0627\u0626\u062d<\/td><td>5\/6<\/td><td>\u062a\u0645 \u0625\u0646\u0634\u0627\u0621 \u0639\u0631\u0636 \u062a\u0642\u062f\u064a\u0645\u064a \u0645\u0643\u0648\u0646 \u0645\u0646 \u062e\u0645\u0633 \u0634\u0631\u0627\u0626\u062d\u061b \u0648\u0644\u0645 \u064a\u062a\u0633\u0646 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0645\u0644\u0627\u062d\u0638\u0627\u062a \u0627\u0644\u0645\u062a\u062d\u062f\u062b.<\/td><\/tr><tr><td>\u0648\u062b\u064a\u0642\u0629<\/td><td>6\/6<\/td><td>\u0645\u0644\u062e\u0635 \u0628\u062d\u062b\u064a \u0645\u0646\u0638\u0645 \u064a\u062a\u0636\u0645\u0646 \u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u0635\u062f\u064a\u0631 \u0648\u0633\u062c\u0644 \u0627\u0644\u0625\u0635\u062f\u0627\u0631\u0627\u062a.<\/td><\/tr><tr><td>\u0627\u0644\u0635\u0648\u0631\u0629 + \u0627\u0644\u062a\u0639\u0644\u064a\u0642<\/td><td>5\/6<\/td><td>\u0635\u0648\u0631\u0629 \u0645\u0631\u0628\u0639\u0629 \u0648\u0627\u0636\u062d\u0629\u061b \u0644\u0643\u0646 \u0627\u0644\u062a\u0639\u0644\u064a\u0642 \u0627\u0644\u0645\u0637\u0644\u0648\u0628 \u0643\u0627\u0646 \u0645\u0641\u0642\u0648\u062f\u064b\u0627.<\/td><\/tr><\/tbody><\/table><p class=\"s-note\">\u0627\u0633\u062a\u0646\u062a\u0627\u062c \u0635\u062d\u064a\u062d: \u0646\u0642\u0627\u0637 \u062f\u062e\u0648\u0644 \u0648\u0627\u0636\u062d\u0629 \u0648\u0633\u064a\u0631 \u0639\u0645\u0644 \u0645\u062a\u0639\u062f\u062f \u0627\u0644\u0648\u0633\u0627\u0626\u0637 \u0645\u0648\u062c\u0647. \u0627\u0633\u062a\u0646\u062a\u0627\u062c\u0627\u062a \u063a\u064a\u0631 \u0645\u062f\u0639\u0648\u0645\u0629: \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u063a\u064a\u0631 \u0627\u0644\u0645\u062d\u062f\u0648\u062f\u060c \u0623\u0648 \u0627\u0644\u0633\u0639\u0631 \u0627\u0644\u0645\u062d\u062f\u062f\u060c \u0623\u0648 \u0627\u0644\u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0643\u0627\u0645\u0644 \u0644\u0631\u0645\u0632 Codex\/Claude.<\/p><\/div><\/article>\n\n\n\n<h2 id=\"which-one\" class=\"wp-block-heading\">\u0645\u0627 \u0647\u0648 \u0623\u062f\u0627\u0629 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u064a \u064a\u0646\u0628\u063a\u064a \u0644\u0644\u0645\u0637\u0648\u0631 \u0627\u0644\u0645\u0633\u062a\u0642\u0644 \u0623\u0646 \u064a\u062e\u062a\u0627\u0631\u0647\u0627\u061f<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>\u0627\u062e\u062a\u0631 \u00ab\u0643\u0648\u062f\u0643\u0633\u00bb<\/strong> \u0639\u0646\u062f\u0645\u0627 \u064a\u062a\u0646\u0627\u0633\u0628 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0627\u0644\u0645\u062d\u062f\u0648\u062f \u0627\u0644\u0645\u062f\u0645\u062c\u060c \u0623\u0648 \u0645\u0632\u064a\u062c \u0627\u0644\u0623\u0633\u0637\u062d \u0627\u0644\u0645\u062a\u0627\u062d\u0629 \u0641\u064a\u0647\u060c \u0623\u0648 \u0623\u062f\u0644\u0629 \u0627\u0644\u062a\u0634\u063a\u064a\u0644 \u0627\u0644\u0645\u062a\u0648\u0641\u0631\u0629 \u0641\u064a \u0625\u0639\u062f\u0627\u062f\u0627\u062a\u0643\u060c \u0645\u0639 \u0623\u0633\u0644\u0648\u0628 \u0639\u0645\u0644\u0643.<\/li>\n\n\n\n<li><strong>\u0627\u062e\u062a\u0631 \u0627\u0644\u0631\u0645\u0632 Claude<\/strong> \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u062d\u0644\u0642\u0629 \u0627\u0644\u0645\u062d\u0637\u0629 \u0627\u0644\u062a\u062e\u0627\u0637\u0628\u064a\u0629\u060c \u0623\u0648 \u0645\u064a\u0632\u0627\u062a \u0627\u0644\u062a\u062e\u0635\u064a\u0635 \u0627\u0644\u062a\u064a \u0642\u0645\u062a \u0628\u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647\u0627\u060c \u0623\u0648 \u0633\u0644\u0648\u0643 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0623\u0648\u0633\u0639 \u0646\u0637\u0627\u0642\u064b\u0627 \u0645\u062b\u0644 \u0630\u0644\u0643 \u0627\u0644\u0630\u064a \u0644\u0648\u062d\u0638 \u0641\u064a \u0623\u062f\u0627\u0629 \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0646\u0627\u060c \u0647\u064a \u0627\u0644\u0623\u0645\u0648\u0631 \u0627\u0644\u0623\u0643\u062b\u0631 \u0623\u0647\u0645\u064a\u0629.<\/li>\n\n\n\n<li><strong>\u0627\u0633\u062a\u062e\u062f\u0645 \u0623\u064a\u064b\u0651\u0627 \u0645\u0646\u0647\u0645\u0627 \u0641\u064a \u062d\u0627\u0644\u0629 \u0648\u062c\u0648\u062f \u0645\u0633\u062a\u0648\u062f\u0639 \u063a\u064a\u0631 \u0645\u0623\u0644\u0648\u0641<\/strong> \u0641\u0642\u0637 \u0628\u0639\u062f \u0627\u062c\u062a\u064a\u0627\u0632 \u0627\u062e\u062a\u0628\u0627\u0631 \u0628\u0646\u064a\u0629 \u00ab\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u00bb \u0648\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u0645\u062e\u0627\u0637\u0631. \u0648\u0642\u062f \u0623\u062f\u062a \u0643\u0644\u062a\u0627 \u0627\u0644\u0623\u062f\u0627\u062a\u064a\u0646 \u0647\u0630\u0647 \u0627\u0644\u0645\u0647\u0645\u0629 \u0628\u0634\u0643\u0644 \u062c\u064a\u062f.<\/li>\n\n\n\n<li><strong>\u0627\u0633\u062a\u062e\u062f\u0645 \u0643\u0644\u064a\u0647\u0645\u0627 \u0628\u0634\u0643\u0644 \u0627\u0646\u062a\u0642\u0627\u0626\u064a<\/strong> \u0645\u062a\u0649 \u064a\u0643\u0648\u0646 \u0625\u062c\u0631\u0627\u0621 \u0645\u0631\u0627\u062c\u0639\u0629 \u0628\u0648\u0627\u0633\u0637\u0629 \u0648\u0643\u064a\u0644 \u062b\u0627\u0646\u064d \u064a\u0633\u062a\u062d\u0642 \u062a\u0643\u0644\u0641\u0629 \u0627\u0644\u0627\u0634\u062a\u0631\u0627\u0643 \u0648\u0627\u0644\u062a\u0646\u0633\u064a\u0642 \u0627\u0644\u0625\u0636\u0627\u0641\u064a\u0629. \u0627\u0637\u0644\u0628 \u0645\u0646 \u0627\u0644\u0623\u062f\u0627\u0629 \u0627\u0644\u062b\u0627\u0646\u064a\u0629 \u0623\u0646 \u062a\u0631\u0627\u062c\u0639 \u0627\u0644\u0641\u0631\u0648\u0642 \u0623\u0648 \u0627\u0644\u062e\u0637\u0629 \u0628\u062f\u0644\u0627\u064b \u0645\u0646 \u062a\u0643\u0631\u0627\u0631 \u0627\u0644\u0645\u0647\u0645\u0629 \u062f\u0648\u0646 \u062a\u0641\u0643\u064a\u0631.<\/li>\n\n\n\n<li><strong>\u0623\u0636\u0641 GlobalGPT<\/strong> \u0639\u0646\u062f\u0645\u0627 \u062a\u0643\u0648\u0646 \u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u062a\u0648\u062c\u064a\u0647 \u0645\u062a\u0639\u062f\u062f \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0623\u0648 \u0627\u0644\u0639\u0645\u0644 \u0645\u062a\u0639\u062f\u062f \u0627\u0644\u0648\u0633\u0627\u0626\u0637 \u0647\u064a \u0627\u0644\u0637\u0628\u0642\u0629 \u0627\u0644\u0645\u0641\u0642\u0648\u062f\u0629. \u0627\u062d\u062a\u0641\u0638 \u0628\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0623\u0635\u0644\u064a\u0629 \u0641\u064a \u0645\u0636\u064a\u0641 \u0627\u0644\u0628\u0631\u0645\u062c\u0629.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0639\u062f \u0627\u0644\u0641\u062a\u0631\u0629 \u0627\u0644\u062a\u062c\u0631\u064a\u0628\u064a\u0629 \u0627\u0644\u062a\u064a \u0645\u062f\u062a\u0647\u0627 \u0633\u0628\u0639\u0629 \u0623\u064a\u0627\u0645 \u0623\u0643\u062b\u0631 \u0625\u0641\u0627\u062f\u0629 \u0645\u0646 \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u062a\u0635\u062f\u0631\u064a\u0646. \u0627\u062e\u062a\u0631 \u0645\u064a\u0632\u0629 \u062d\u0642\u064a\u0642\u064a\u0629 \u0648\u0627\u062d\u062f\u0629 \u063a\u064a\u0631 \u0645\u062a\u0639\u0644\u0642\u0629 \u0628\u0627\u0644\u0625\u0646\u062a\u0627\u062c\u060c \u0648\u062e\u0637\u0623\u064b \u0648\u0627\u062d\u062f\u0627\u064b\u060c \u0648\u0642\u0645 \u0628\u0645\u0631\u0627\u062c\u0639\u062a\u0647\u0627. \u0642\u0645 \u0628\u062a\u062c\u0645\u064a\u062f \u0627\u0644\u0623\u0645\u0631 \u0627\u0644\u0641\u0648\u0631\u064a \u0648\u0623\u0645\u0631 \u0627\u0644\u0646\u062c\u0627\u062d. \u0633\u062c\u0644 \u0623\u0648\u0644 \u0641\u0631\u0642 \u0635\u0627\u0644\u062d\u060c \u0648\u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0645 \u0627\u062c\u062a\u064a\u0627\u0632\u0647\u0627\u060c \u0648\u0627\u0644\u0648\u0642\u062a \u0627\u0644\u0645\u0646\u0642\u0636\u064a\u060c \u0648\u0627\u0644\u062a\u062f\u062e\u0644\u0627\u062a \u0627\u0644\u0628\u0634\u0631\u064a\u0629\u060c \u0648\u0627\u0644\u0646\u0637\u0627\u0642 \u063a\u064a\u0631 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u060c \u0648\u0643\u064a\u0641 \u0623\u062b\u0631 \u0627\u0644\u0639\u0645\u0644 \u0639\u0644\u0649 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0645\u062a\u0627\u062d \u0644\u062f\u064a\u0643. \u0627\u0644\u0645\u0646\u062a\u062c \u0627\u0644\u0623\u0641\u0636\u0644 \u0647\u0648 \u0627\u0644\u0630\u064a \u064a\u0645\u0643\u0646\u0643 \u0627\u0643\u062a\u0634\u0627\u0641 \u0623\u062e\u0637\u0627\u0626\u0647 \u0648\u0627\u0644\u062d\u0641\u0627\u0638 \u0639\u0644\u0649 \u0633\u064a\u0631 \u0639\u0645\u0644\u0647.<\/p>\n\n\n\n<h2 id=\"faq\" class=\"wp-block-heading\">\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629 \u062d\u0648\u0644 \u0643\u0648\u062f \u00abCodex\u00bb \u0645\u0642\u0627\u0628\u0644 \u0643\u0648\u062f \u00abClaude\u00bb<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\u0647\u0644 \u0646\u0638\u0627\u0645 \u00ab\u0643\u0648\u062f\u064a\u0643\u0633\u00bb \u0623\u0641\u0636\u0644 \u0645\u0646 \u0646\u0638\u0627\u0645 \u00abClaude\u00bb\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u064a\u0633 \u0628\u0634\u0643\u0644 \u0639\u0627\u0645. \u0641\u0642\u062f \u0623\u0646\u062c\u0632 \u0643\u0644\u0627\u0647\u0645\u0627 \u0627\u0644\u0645\u0647\u0627\u0645 \u0627\u0644\u0623\u0631\u0628\u0639 \u0627\u0644\u0648\u0627\u0631\u062f\u0629 \u0641\u064a \u0628\u0631\u0646\u0627\u0645\u062c \u0627\u0644\u0627\u062e\u062a\u0628\u0627\u0631 \u0627\u0644\u062e\u0627\u0635 \u0628\u0646\u0627. \u0648\u062a\u0641\u0648\u0642 \u0643\u0648\u062f Claude \u0641\u064a \u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u0631\u0627\u062c\u0639\u0629\u060c \u0641\u064a \u062d\u064a\u0646 \u0643\u0627\u0646 \u0643\u0648\u062f\u0643\u0633 \u0623\u0643\u062b\u0631 \u0625\u064a\u062c\u0627\u0632\u064b\u0627 \u0641\u064a \u0628\u0639\u0636 \u062c\u0648\u0627\u0646\u0628 \u0627\u0644\u062a\u0646\u0641\u064a\u0630 \u0648\u0625\u0635\u0644\u0627\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0623\u064a\u0647\u0645\u0627 \u0623\u0641\u0636\u0644 \u0644\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u0627\u062a \u0627\u0644\u0643\u0628\u064a\u0631\u0629\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u0627 \u064a\u0645\u0643\u0646 \u0644\u0628\u0631\u0646\u0627\u0645\u062c\u0646\u0627 \u0627\u0644\u0635\u063a\u064a\u0631 \u0627\u0644\u0625\u062c\u0627\u0628\u0629 \u0639\u0644\u0649 \u0647\u0630\u0627 \u0627\u0644\u0633\u0624\u0627\u0644. \u0642\u0645 \u0628\u062a\u0642\u064a\u064a\u0645 \u0643\u0644\u064a\u0647\u0645\u0627 \u0641\u064a \u0645\u0647\u0645\u0629 \u0628\u0646\u064a\u0629 \u00ab\u0644\u0644\u0642\u0631\u0627\u0621\u0629 \u0641\u0642\u0637\u00bb \u0645\u0646 \u0645\u0633\u062a\u0648\u062f\u0639\u0643 \u0627\u0644\u062e\u0627\u0635 \u0642\u0628\u0644 \u0627\u0644\u0633\u0645\u0627\u062d \u0628\u0625\u062c\u0631\u0627\u0621 \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u0627\u062a.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0623\u064a \u0639\u0627\u0645\u0644 \u062a\u0631\u0645\u064a\u0632 \u064a\u062a\u0637\u0644\u0628 \u0625\u0634\u0631\u0627\u0641\u064b\u0627 \u0623\u0642\u0644\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0639\u062a\u0645\u062f \u0630\u0644\u0643 \u0639\u0644\u0649 \u0648\u0636\u0648\u062d \u0627\u0644\u0645\u0647\u0645\u0629\u060c \u0648\u0625\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0646\u0645\u0648\u0630\u062c\u060c \u0648\u062a\u0639\u0644\u064a\u0645\u0627\u062a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639\u060c \u0648\u0623\u0633\u0644\u0648\u0628 \u0627\u0644\u062a\u0641\u0627\u0639\u0644 \u0627\u0644\u0645\u0637\u0644\u0648\u0628. \u0648\u0642\u062f \u0623\u0634\u0627\u0631 \u0623\u062d\u062f \u0645\u0633\u062a\u062e\u062f\u0645\u064a \u0645\u0648\u0642\u0639 Reddit \u0625\u0644\u0649 \u0623\u0646\u0645\u0627\u0637 \u0625\u0634\u0631\u0627\u0641 \u0645\u062e\u062a\u0644\u0641\u0629\u060c \u0644\u0643\u0646 \u062a\u0644\u0643 \u0627\u0644\u062a\u062c\u0631\u0628\u0629 \u0627\u0644\u0641\u0631\u062f\u064a\u0629 \u0644\u0627 \u062a\u0645\u062b\u0644 \u0642\u0627\u0639\u062f\u0629 \u0639\u0627\u0645\u0629 \u062a\u0646\u0637\u0628\u0642 \u0639\u0644\u0649 \u0627\u0644\u0645\u0646\u062a\u062c \u0628\u0623\u0643\u0645\u0644\u0647.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0623\u064a\u0647\u0645\u0627 \u0623\u0631\u062e\u0635\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u062a\u0648\u0627\u0641\u0642 \u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0627\u0633\u062a\u0647\u0644\u0627\u0643 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629 \u0639\u0646\u062f $20 \u0648$100 \u0648$200 \u0634\u0647\u0631\u064a\u064b\u0651\u0627\u060c \u0644\u0643\u0646 \u0627\u0644\u0633\u0639\u0629 \u0627\u0644\u0645\u0636\u0645\u0646\u0629 \u0648\u0622\u0644\u064a\u0627\u062a \u062a\u062d\u062f\u064a\u062f \u0627\u0644\u062d\u062f\u0648\u062f \u062a\u062e\u062a\u0644\u0641. \u0623\u0645\u0627 \u0627\u0644\u0627\u0626\u062a\u0645\u0627\u0646\u0627\u062a \u0627\u0644\u0627\u062e\u062a\u064a\u0627\u0631\u064a\u0629 \u0648\u0627\u0644\u0641\u0648\u062a\u0631\u0629 \u0639\u0628\u0631 \u0648\u0627\u062c\u0647\u0629 \u0628\u0631\u0645\u062c\u0629 \u0627\u0644\u062a\u0637\u0628\u064a\u0642\u0627\u062a (API) \u0641\u0647\u064a \u0645\u0646\u0641\u0635\u0644\u0629.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0647\u0644 \u062a\u062a\u0634\u0627\u0631\u0643 \u062e\u0637\u062a\u0627 Claude \u0648Claude \u0641\u064a \u062d\u062f\u0648\u062f \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0646\u0639\u0645. \u064a\u0633\u062a\u062e\u062f\u0645 \u0643\u0644 \u0645\u0646 Claude \u0648\u00abClaude Code\u00bb \u062d\u062f\u0648\u062f\u064b\u0627 \u0645\u0634\u062a\u0631\u0643\u0629 \u0644\u0644\u062c\u0644\u0633\u0627\u062a \u0648\u062d\u062f\u0648\u062f\u064b\u0627 \u0623\u0633\u0628\u0648\u0639\u064a\u0629 \u0641\u064a \u0628\u0627\u0642\u0627\u062a Pro \u0623\u0648 Max \u0627\u0644\u0645\u0631\u062a\u0628\u0637\u0629 \u0628\u0647\u0645\u0627.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0647\u0644 \u062a\u062a\u0634\u0627\u0631\u0643 \u0645\u0647\u0627\u0645 Codex \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0648\u0627\u0644\u0633\u062d\u0627\u0628\u064a\u0629 \u0641\u064a \u0646\u0641\u0633 \u0627\u0644\u062d\u062f\u0648\u062f\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u062a\u0634\u062a\u0631\u0643 \u0627\u0644\u0631\u0633\u0627\u0626\u0644 \u0627\u0644\u0645\u062d\u0644\u064a\u0629 \u0648\u0627\u0644\u0645\u062d\u0627\u062f\u062b\u0627\u062a \u0627\u0644\u0633\u062d\u0627\u0628\u064a\u0629 \u0641\u064a \u0641\u062a\u0631\u0629 \u0632\u0645\u0646\u064a\u0629 \u0645\u062f\u062a\u0647\u0627 \u062e\u0645\u0633 \u0633\u0627\u0639\u0627\u062a\u060c \u0648\u0642\u062f \u062a\u064f\u0637\u0628\u0642 \u0623\u064a\u0636\u064b\u0627 \u062d\u062f\u0648\u062f \u0623\u0633\u0628\u0648\u0639\u064a\u0629.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0647\u0644 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u062d\u0644 \u0637\u0631\u0627\u0632 GlobalGPT \u0645\u062d\u0644 \u0637\u0631\u0627\u0632 Codex \u0623\u0648 Claude Code\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u0644\u0627. \u064a\u0645\u0643\u0646\u0647 \u062a\u0648\u0633\u064a\u0639 \u0646\u0637\u0627\u0642 \u0623\u064a \u0645\u0646 \u0645\u0633\u0627\u0631\u064a \u0627\u0644\u0639\u0645\u0644 \u0628\u0625\u0636\u0627\u0641\u0629 \u0646\u0645\u0627\u0630\u062c \u0625\u0636\u0627\u0641\u064a\u0629\u060c \u0648\u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI)\u060c \u0648MCP\u060c \u0648\u0627\u0644\u0645\u0647\u0627\u0631\u0627\u062a\u060c \u0648\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0648\u0633\u0627\u0626\u0637\u060c \u0644\u0643\u0646 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0648\u0633\u0644\u0648\u0643 \u0648\u0643\u064a\u0644 \u0627\u0644\u0628\u0631\u0645\u062c\u0629 \u064a\u0638\u0644\u0627\u0646 \u0641\u064a \u0627\u0644\u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0636\u064a\u0641.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u0647\u0644 \u064a\u0645\u0643\u0646\u0646\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0631\u0645\u0632 GlobalGPT \u0645\u0646 \u0643\u0644\u0627 \u0627\u0644\u0645\u0646\u062a\u062c\u064a\u0646\u061f<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">\u064a\u0648\u0641\u0631 GlobalGPT \u062f\u0631\u0648\u0633\u064b\u0627 \u062a\u0639\u0644\u064a\u0645\u064a\u0629 \u0631\u0633\u0645\u064a\u0629 \u062d\u0648\u0644 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 (CLI) \u0644\u0643\u0644\u064a\u0647\u0645\u0627. \u0648\u0642\u062f \u062a\u062d\u0642\u0642\u0646\u0627 \u0645\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0648\u0627\u062c\u0647\u0629 \u0633\u0637\u0631 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0641\u064a \u0643\u0644\u062a\u0627 \u0627\u0644\u0628\u064a\u0626\u062a\u064a\u0646\u060c \u0648\u0643\u0630\u0644\u0643 \u0645\u0646 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 MCP \u0648Skill \u0641\u064a Codex\u060c \u0645\u0639 \u0648\u062c\u0648\u062f \u0642\u064a\u0648\u062f \u0639\u0644\u0649 \u0627\u0644\u0645\u0648\u0627\u0641\u0642\u0629 \u0641\u064a\u0645\u0627 \u064a\u062a\u0639\u0644\u0642 \u0628\u0640 MCP \u063a\u064a\u0631 \u0627\u0644\u0645\u0631\u0627\u0642\u0628.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0623\u0633\u0639\u0627\u0631 \u0648\u0642\u0648\u0627\u0639\u062f \u0627\u0644\u0628\u0627\u0642\u0627\u062a \u0648\u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u062a\u0643\u0627\u0645\u0644 \u0648\u0645\u0635\u0627\u062f\u0631 \u0627\u0644\u0623\u062f\u0644\u0629 \u0641\u064a \u064a\u0648\u0644\u064a\u0648 2026. \u0642\u062f \u062a\u062a\u063a\u064a\u0631 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0645\u0646\u062a\u062c.<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.glbgpt.com\/home?inviter=hub_content_home&amp;login=1\">\u0627\u0641\u062a\u062a\u0627\u062d GlobalGPT<\/a> \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0631\u063a\u0628 \u0641\u064a \u0625\u0636\u0627\u0641\u0629 \u0637\u0628\u0642\u0629 \u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0646\u0645\u0627\u0630\u062c \u0648\u0645\u062a\u0639\u062f\u062f\u0629 \u0627\u0644\u0648\u0633\u0627\u0626\u0637 \u0625\u0644\u0649 \u0633\u064a\u0631 \u0639\u0645\u0644 \u0627\u0644\u062a\u0631\u0645\u064a\u0632 \u0627\u0644\u062d\u0627\u0644\u064a \u0644\u062f\u064a\u0643.<\/p>\n\n\n<\/article>","protected":false},"excerpt":{"rendered":"<p>Codex vs Claude Code is less about finding one universal winner and more about choosing the working style you can trust every day. Both products can inspect a repository, edit multiple files, run commands, execute tests, and explain a patch. The meaningful differences appear in how you delegate work, how often you steer the agent, [&hellip;]<\/p>","protected":false},"author":7,"featured_media":17361,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":" Codex vs Claude Code: Features, Pricing & Hands-On Tests","_seopress_titles_desc":"A neutral Codex vs Claude Code comparison covering features, pricing, limits, real repository tests, user experience, and GlobalGPT integrations.","_seopress_robots_index":"","footnotes":""},"categories":[7],"tags":[],"class_list":["post-17342","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ai-chat"],"_links":{"self":[{"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/posts\/17342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/comments?post=17342"}],"version-history":[{"count":2,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/posts\/17342\/revisions"}],"predecessor-version":[{"id":17393,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/posts\/17342\/revisions\/17393"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/media\/17361"}],"wp:attachment":[{"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/media?parent=17342"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/categories?post=17342"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wp.glbgpt.com\/ar\/wp-json\/wp\/v2\/tags?post=17342"}],"curies":[{"name":"\u062f\u0628\u0644\u064a\u0648 \u0628\u064a","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}