Release and CI
рд░рд┐рд▓реАрдЬрд╝ рдиреАрддрд┐
OpenClaw рдХреА рддреАрди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░рд┐рд▓реАрдЬрд╝ рд▓реЗрди рд╣реИрдВ:
- рд╕реНрдерд┐рд░: рдЯреИрдЧ рдХреА рдЧрдИ рд░рд┐рд▓реАрдЬрд╝ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ npm
betaрдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ npmlatestрдкрд░ - рдмреАрдЯрд╛: рдкреНрд░реАрд░рд┐рд▓реАрдЬрд╝ рдЯреИрдЧ рдЬреЛ npm
betaрдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдбреЗрд╡:
mainрдХрд╛ рдЪрд▓рддрд╛ рд╣реБрдЖ рд╣реЗрдб
рд╕рдВрд╕реНрдХрд░рдг рдирд╛рдордХрд░рдг
- рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг:
YYYY.M.PATCH- Git рдЯреИрдЧ:
vYYYY.M.PATCH
- Git рдЯреИрдЧ:
- рд╕реНрдерд┐рд░ рд╕реБрдзрд╛рд░ рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг:
YYYY.M.PATCH-N- Git рдЯреИрдЧ:
vYYYY.M.PATCH-N
- Git рдЯреИрдЧ:
- рдмреАрдЯрд╛ рдкреНрд░реАрд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдг:
YYYY.M.PATCH-beta.N- Git рдЯреИрдЧ:
vYYYY.M.PATCH-beta.N
- Git рдЯреИрдЧ:
- рдорд╣реАрдиреЗ рдпрд╛ рдкреИрдЪ рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рдкреИрдб рди рдХрд░реЗрдВ
- рдЬреВрди 2026 рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкрдбреЗрдЯ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рддреАрд╕рд░рд╛ рдШрдЯрдХ рдПрдХ рдХреНрд░рдорд┐рдХ рдорд╛рд╕рд┐рдХ рд░рд┐рд▓реАрдЬрд╝-рдЯреНрд░реЗрди рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдХреИрд▓реЗрдВрдбрд░ рджрд┐рди рдирд╣реАрдВред рд╕реНрдерд┐рд░ рдФрд░ рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЬрд╝ рд╡рд░реНрддрдорд╛рди рдЯреНрд░реЗрди рддрдп рдХрд░рддреА рд╣реИрдВ; рдХреЗрд╡рд▓-рдЕрд▓реНрдлрд╛ рдЯреИрдЧ рдмреАрдЯрд╛/рд╕реНрдерд┐рд░ рдкреИрдЪ рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛ рдЙрд╕реЗ рдЖрдЧреЗ рдирд╣реАрдВ рдмрдврд╝рд╛рддреЗред рдЕрдкрдбреЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ рдХреЗ рдЯреИрдЧ рдФрд░ npm рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрдиреЗ рдореМрдЬреВрджрд╛ рдирд╛рдо рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдиреНрдп рд░рд╣рддреЗ рд╣реИрдВ; рд░рд┐рд▓реАрдЬрд╝ рдСрдЯреЛрдореЗрд╢рди рдЙрдиреНрд╣реЗрдВ рд╡рд░реНрд╖, рдорд╣реАрдирд╛, рдкреИрдЪ, рдЪреИрдирд▓, рдФрд░ рдкреНрд░реАрд░рд┐рд▓реАрдЬрд╝ рдпрд╛ рд╕реБрдзрд╛рд░ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рддреБрд▓рдирд╛ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред
- рдЕрд▓реНрдлрд╛/рдирд╛рдЗрдЯрд▓реА рдмрд┐рд▓реНрдб рдЕрдЧрд▓реА рдЕрдкреНрд░рдХрд╛рд╢рд┐рдд рдкреИрдЪ рдЯреНрд░реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рд░-рдмрд╛рд░
рдмрд┐рд▓реНрдб рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓
alpha.Nрдмрдврд╝рд╛рддреЗ рд╣реИрдВред рдЬрдм рдЙрд╕ рдкреИрдЪ рдХрд╛ рдмреАрдЯрд╛ рдЖ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдирдП рдЕрд▓реНрдлрд╛ рдмрд┐рд▓реНрдб рдЕрдЧрд▓реЗ рдкреИрдЪ рдкрд░ рдЪрд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВред рдмреАрдЯрд╛ рдпрд╛ рд╕реНрдерд┐рд░ рдЯреНрд░реЗрди рдЪреБрдирддреЗ рд╕рдордп рдЕрдзрд┐рдХ рдкреИрдЪ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╡рд┐рд░рд╛рд╕рддреА рдХреЗрд╡рд▓-рдЕрд▓реНрдлрд╛ рдЯреИрдЧ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░реЗрдВред - npm рд╕рдВрд╕реНрдХрд░рдг рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╣реЛрддреЗ рд╣реИрдВред рдпрджрд┐ рдХреЛрдИ рдмреАрдЯрд╛ рдЯреИрдЧ рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ
рдЪреБрдХрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╣рдЯрд╛рдПрдБ, рджреЛрдмрд╛рд░рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░реЗрдВ, рдпрд╛ рдлрд┐рд░ рд╕реЗ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ; рдЕрдЧрд▓реА
рдмреАрдЯрд╛ рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдЕрдЧрд▓рд╛ рдорд╛рд╕рд┐рдХ рдкреИрдЪ рдХрд╛рдЯреЗрдВред рдХреНрдпреЛрдВрдХрд┐
2026.6.5-beta.1рд╕рдВрдХреНрд░рдордг рдХреЗ рджреМрд░рд╛рди рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХрд╛ рдерд╛, рдЬреВрди 2026 рд░рд┐рд▓реАрдЬрд╝ рдЯреНрд░реЗрдиреЛрдВ рдХреЛ рдкреИрдЪ5рдпрд╛ рдЙрд╕рд╕реЗ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдирдП рдЬреВрди 2026 рд╕реНрдерд┐рд░ рдпрд╛ рдмреАрдЯрд╛ рдЯреНрд░реЗрдиреЛрдВ рдХреЛ2026.6.2,2026.6.3, рдпрд╛2026.6.4рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рди рдХрд░реЗрдВред - рд╕реНрдерд┐рд░
2026.6.5рдХреЗ рдмрд╛рдж, рдЕрдЧрд▓реА рдирдИ рдмреАрдЯрд╛ рдЯреНрд░реЗрди2026.6.6-beta.1рд╣реИ, рднрд▓реЗ рд╣реА рдЕрдзрд┐рдХ рдкреИрдЪ рд╕рдВрдЦреНрдпрд╛рдУрдВ рд╡рд╛рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХреЗрд╡рд▓-рдЕрд▓реНрдлрд╛ рдЯреИрдЧ рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реЛрдВред latestрдХрд╛ рдЕрд░реНрде рд╡рд░реНрддрдорд╛рди рдкреНрд░рдореЛрдЯ рдХреА рдЧрдИ рд╕реНрдерд┐рд░ npm рд░рд┐рд▓реАрдЬрд╝ рд╣реИbetaрдХрд╛ рдЕрд░реНрде рд╡рд░реНрддрдорд╛рди рдмреАрдЯрд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рд▓рдХреНрд╖реНрдп рд╣реИ- рд╕реНрдерд┐рд░ рдФрд░ рд╕реНрдерд┐рд░ рд╕реБрдзрд╛рд░ рд░рд┐рд▓реАрдЬрд╝ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ npm
betaрдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреА рд╣реИрдВ; рд░рд┐рд▓реАрдЬрд╝ рдСрдкрд░реЗрдЯрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗlatestрд▓рдХреНрд╖реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдмрд╛рдж рдореЗрдВ рдЬрд╛рдБрдЪреЗ рд╣реБрдП рдмреАрдЯрд╛ рдмрд┐рд▓реНрдб рдХреЛ рдкреНрд░рдореЛрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ - рд╣рд░ рд╕реНрдерд┐рд░ OpenClaw рд░рд┐рд▓реАрдЬрд╝ npm рдкреИрдХреЗрдЬ, macOS рдРрдк, рдФрд░ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд Windows Hub рдЗрдВрд╕реНрдЯреЙрд▓рд░ рд╕рд╛рде рдореЗрдВ рд╢рд┐рдк рдХрд░рддреА рд╣реИ; рдмреАрдЯрд╛ рд░рд┐рд▓реАрдЬрд╝ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рдкрд╣рд▓реЗ npm/рдкреИрдХреЗрдЬ рдкрде рдХреЛ рдорд╛рдиреНрдп рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдФрд░ рдиреЗрдЯрд┐рд╡ рдРрдк build/sign/notarize/promote рд╕реНрдерд┐рд░ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрдиреБрд░реЛрдз рди рдХрд┐рдпрд╛ рдЬрд╛рдП
рд░рд┐рд▓реАрдЬрд╝ рддрд╛рд▓
- рд░рд┐рд▓реАрдЬрд╝ рдкрд╣рд▓реЗ рдмреАрдЯрд╛ рдореЗрдВ рдЬрд╛рддреА рд╣реИрдВ
- рд╕реНрдерд┐рд░ рдХреЗрд╡рд▓ рдирд╡реАрдирддрдо рдмреАрдЯрд╛ рдХреЗ рдорд╛рдиреНрдп рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЖрддреА рд╣реИ
- рдореЗрдВрдЯреЗрдирд░ рд╕рд╛рдорд╛рдиреНрдпрддрдГ рд╡рд░реНрддрдорд╛рди
mainрд╕реЗ рдмрдирд╛рдИ рдЧрдИrelease/YYYY.M.PATCHрд╢рд╛рдЦрд╛ рд╕реЗ рд░рд┐рд▓реАрдЬрд╝ рдХрд╛рдЯрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рд╕рддреНрдпрд╛рдкрди рдФрд░ рд╕реБрдзрд╛рд░mainрдкрд░ рдирдП рд╡рд┐рдХрд╛рд╕ рдХреЛ рдмреНрд▓реЙрдХ рди рдХрд░реЗрдВ - рдпрджрд┐ рдХреЛрдИ рдмреАрдЯрд╛ рдЯреИрдЧ рдкреБрд╢ рдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ рд╕реБрдзрд╛рд░ рдЪрд╛рд╣рд┐рдП, рддреЛ рдореЗрдВрдЯреЗрдирд░
рдкреБрд░рд╛рдиреЗ рдмреАрдЯрд╛ рдЯреИрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдпрд╛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЕрдЧрд▓рд╛
-beta.NрдЯреИрдЧ рдХрд╛рдЯрддреЗ рд╣реИрдВ - рд╡рд┐рд╕реНрддреГрдд рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЕрдиреБрдореЛрджрди, рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓, рдФрд░ рд░рд┐рдХрд╡рд░реА рдиреЛрдЯреНрд╕ рдХреЗрд╡рд▓ рдореЗрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╣реИрдВ
рд░рд┐рд▓реАрдЬрд╝ рдСрдкрд░реЗрдЯрд░ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ
рдпрд╣ рдЪреЗрдХрд▓рд┐рд╕реНрдЯ рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд░реВрдк рд╣реИред рдирд┐рдЬреА рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓, рд╕рд╛рдЗрдирд┐рдВрдЧ, рдиреЛрдЯрд░рд╛рдЗрдЬрд╝реЗрд╢рди, dist-tag рд░рд┐рдХрд╡рд░реА, рдФрд░ рдЖрдкрд╛рддрдХрд╛рд▓реАрди рд░реЛрд▓рдмреИрдХ рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рдореЗрдВрдЯреЗрдирд░ рд░рд┐рд▓реАрдЬрд╝ рд░рдирдмреБрдХ рдореЗрдВ рд░рд╣рддреЗ рд╣реИрдВред
- рд╡рд░реНрддрдорд╛рди
mainрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ: рдирд╡реАрдирддрдо рдкреБрд▓ рдХрд░реЗрдВ, рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд▓рдХреНрд╖реНрдп рдХрдорд┐рдЯ рдкреБрд╢ рд╣реИ, рдФрд░ рдкреБрд╖реНрдЯрд┐ рдХрд░реЗрдВ рдХрд┐ рд╡рд░реНрддрдорд╛рдиmainCI рдЗрд╕рд╕реЗ рд╢рд╛рдЦрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣рд░рд╛ рд╣реИред - рдЕрдВрддрд┐рдо рдкрд╣реБрдБрдЪ рдпреЛрдЧреНрдп рд░рд┐рд▓реАрдЬрд╝ рдЯреИрдЧ рдХреЗ рдмрд╛рдж рд╕реЗ рдорд░реНрдЬ рдХрд┐рдП рдЧрдП PR рдФрд░ рд╕рднреА рд╕реАрдзреЗ
рдХрдорд┐рдЯ рд╕реЗ рд╢реАрд░реНрд╖
CHANGELOG.mdрдЕрдиреБрднрд╛рдЧ рдЬрдирд░реЗрдЯ рдХрд░реЗрдВред рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛-рдХреЗрдВрджреНрд░рд┐рдд рд░рдЦреЗрдВ, рдУрд╡рд░рд▓реИрдк рдХрд░рддреА PR/рд╕реАрдзреЗ-рдХрдорд┐рдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдбреАрдбреБрдк рдХрд░реЗрдВ, рдкреБрдирд░реНрд▓реЗрдЦрди рдХрдорд┐рдЯ рдХрд░реЗрдВ, рдЙрд╕реЗ рдкреБрд╢ рдХрд░реЗрдВ, рдФрд░ рд╢рд╛рдЦрд╛ рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдмрд╛рд░ рдлрд┐рд░ rebase/pull рдХрд░реЗрдВред - рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрдЧрддрддрд╛ рд░рд┐рдХреЙрд░реНрдб рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХрд░реЗрдВ
src/plugins/compat/registry.tsрдФрд░src/commands/doctor/shared/deprecation-compat.tsрдореЗрдВред рд╕рдорд╛рдкреНрдд рд╣реЛ рдЪреБрдХреА рд╕рдВрдЧрддрддрд╛ рдХреЗрд╡рд▓ рддрдм рд╣рдЯрд╛рдПрдБ рдЬрдм рдЕрдкрдЧреНрд░реЗрдб рдкрде рдХрд╡рд░ рд░рд╣реЗ, рдпрд╛ рджрд░реНрдЬ рдХрд░реЗрдВ рдХрд┐ рдЙрд╕реЗ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХреНрдпреЛрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред - рд╡рд░реНрддрдорд╛рди
mainрд╕реЗrelease/YYYY.M.PATCHрдмрдирд╛рдПрдБ; рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рд▓реАрдЬрд╝ рдХрд╛рд░реНрдп рд╕реАрдзреЗmainрдкрд░ рди рдХрд░реЗрдВред - рдЗрдЪреНрдЫрд┐рдд рдЯреИрдЧ рдХреЗ рд▓рд┐рдП рд╣рд░ рдЖрд╡рд╢реНрдпрдХ рд╕рдВрд╕реНрдХрд░рдг рд╕реНрдерд╛рди рдмрдврд╝рд╛рдПрдБ, рдлрд┐рд░
pnpm release:prepрдЪрд▓рд╛рдПрдБред рдпрд╣ Plugin рд╕рдВрд╕реНрдХрд░рдгреЛрдВ, Plugin рдЗрдиреНрд╡реЗрдВрдЯрд░реА, рдХреЙрдиреНрдлрд╝рд┐рдЧ рд╕реНрдХреАрдорд╛, рдмрдВрдбрд▓ рдЪреИрдирд▓ рдХреЙрдиреНрдлрд╝рд┐рдЧ рдореЗрдЯрд╛рдбреЗрдЯрд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧ рдбреЙрдХреНрд╕ рдмреЗрд╕рд▓рд╛рдЗрди, Plugin SDK рдПрдХреНрд╕рдкреЛрд░реНрдЯ, рдФрд░ Plugin SDK API рдмреЗрд╕рд▓рд╛рдЗрди рдХреЛ рд╕рд╣реА рдХреНрд░рдо рдореЗрдВ рд░рд┐рдлреНрд░реЗрд╢ рдХрд░рддрд╛ рд╣реИред рдЯреИрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреЛрдИ рднреА рдЬрдирд░реЗрдЯреЗрдб drift рдХрдорд┐рдЯ рдХрд░реЗрдВред рдлрд┐рд░ рд╕реНрдерд╛рдиреАрдп рдирд┐рд░реНрдзрд╛рд░рдХ рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдЪрд▓рд╛рдПрдБ:pnpm check:test-types,pnpm check:architecture,pnpm build && pnpm ui:build, рдФрд░pnpm release:checkред OpenClaw NPM ReleaseрдХреЛpreflight_only=trueрдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБред рдЯреИрдЧ рдореМрдЬреВрдж рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕рддреНрдпрд╛рдкрди-рдХреЗрд╡рд▓ рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ 40-рдЕрдХреНрд╖рд░ рд░рд┐рд▓реАрдЬрд╝-рд╢рд╛рдЦрд╛ SHA рдЕрдиреБрдордд рд╣реИред рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ рд╕рдЯреАрдХ рдЪреЗрдХ-рдЖрдЙрдЯ рдХрд┐рдП рдЧрдП dependency graph рдХреЗ рд▓рд┐рдП dependency рд░рд┐рд▓реАрдЬрд╝ evidence рдЬрдирд░реЗрдЯ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрд╕реЗ npm рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ artifact рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рд╕рдлрд▓preflight_run_idрд╕рд╣реЗрдЬреЗрдВред- рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛, рдЯреИрдЧ, рдпрд╛ рдкреВрд░реНрдг рдХрдорд┐рдЯ SHA рдХреЗ рд▓рд┐рдП
Full Release ValidationрдХреЗ рд╕рд╛рде рд╕рднреА рдкреНрд░реА-рд░рд┐рд▓реАрдЬрд╝ рдЯреЗрд╕реНрдЯ рд╢реБрд░реВ рдХрд░реЗрдВред рдпрд╣ рдЪрд╛рд░ рдмрдбрд╝реЗ рд░рд┐рд▓реАрдЬрд╝ рдЯреЗрд╕реНрдЯ рдмреЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рдореИрдиреБрдЕрд▓ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╣реИ: Vitest, Docker, QA Lab, рдФрд░ Packageред - рдпрджрд┐ рд╕рддреНрдпрд╛рдкрди рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдкрд░ рд╕реБрдзрд╛рд░ рдХрд░реЗрдВ рдФрд░ рд╕рдмрд╕реЗ рдЫреЛрдЯреА рд╡рд┐рдлрд▓ рдлрд╝рд╛рдЗрд▓, рд▓реЗрди, workflow job, рдкреИрдХреЗрдЬ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓, рдкреНрд░рджрд╛рддрд╛, рдпрд╛ рдореЙрдбрд▓ allowlist рдлрд┐рд░ рдЪрд▓рд╛рдПрдБ рдЬреЛ рд╕реБрдзрд╛рд░ рдХреЛ рд╕рд┐рджреНрдз рдХрд░рддреА рд╣реЛред рдкреВрд░реЗ umbrella рдХреЛ рдХреЗрд╡рд▓ рддрдм рдлрд┐рд░ рдЪрд▓рд╛рдПрдБ рдЬрдм рдмрджрд▓рд╛ рд╣реБрдЖ рд╕рддрд╣ рдкреВрд░реНрд╡ evidence рдХреЛ stale рдмрдирд╛ рджреЗред
- рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдмреАрдЯрд╛ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЗ рд▓рд┐рдП, рдореЗрд▓ рдЦрд╛рддреА
release/YYYY.M.PATCHрд╢рд╛рдЦрд╛ рд╕реЗpnpm release:candidate -- --tag vYYYY.M.PATCH-beta.NрдЪрд▓рд╛рдПрдБред рд╕реНрдерд┐рд░ рдХреЗ рд▓рд┐рдП, рдЖрд╡рд╢реНрдпрдХ Windows рд╕реНрд░реЛрдд рд░рд┐рд▓реАрдЬрд╝ рднреА рдкрд╛рд╕ рдХрд░реЗрдВ:pnpm release:candidate -- --tag vYYYY.M.PATCH --windows-node-tag vX.Y.Zред рд╣реЗрд▓реНрдкрд░ рд╕реНрдерд╛рдиреАрдп рдЬрдирд░реЗрдЯреЗрдб-рд░рд┐рд▓реАрдЬрд╝ checks рдЪрд▓рд╛рддрд╛ рд╣реИ, рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬрд╝ рд╕рддреНрдпрд╛рдкрди рдФрд░ npm рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ evidence рдХреЛ dispatch рдпрд╛ verify рдХрд░рддрд╛ рд╣реИ, рд╕рдЯреАрдХ рддреИрдпрд╛рд░ tarball рдХреЗ рд╡рд┐рд░реБрджреНрдз Parallels fresh/update proof рдФрд░ Telegram рдкреИрдХреЗрдЬ proof рдЪрд▓рд╛рддрд╛ рд╣реИ, Plugin npm рдФрд░ ClawHub рдпреЛрдЬрдирд╛рдПрдБ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░ evidence bundle рд╣рд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА рд╕рдЯреАрдХOpenClaw Release PublishрдХрдорд╛рдВрдб рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИредOpenClaw Release PublishрдЪреБрдиреЗ рдЧрдП рдпрд╛ рд╕рднреА рдкреНрд░рдХрд╛рд╢рд┐рдд-рдпреЛрдЧреНрдп Plugin рдкреИрдХреЗрдЬреЛрдВ рдХреЛ npm рдФрд░ рдЙрд╕реА рд╕реЗрдЯ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ ClawHub рдкрд░ dispatch рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ Plugin npm publish рд╕рдлрд▓ рд╣реЛрддреЗ рд╣реА рдореЗрд▓ рдЦрд╛рддреЗ dist-tag рдХреЗ рд╕рд╛рде рддреИрдпрд╛рд░ OpenClaw npm рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ artifact рдХреЛ рдкреНрд░рдореЛрдЯ рдХрд░рддрд╛ рд╣реИред OpenClaw npm publish child рд╕рдлрд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдпрд╣ рдкреВрд░реНрдг рдореЗрд▓ рдЦрд╛рддреЗCHANGELOG.mdрдЕрдиреБрднрд╛рдЧ рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ GitHub release/prerelease рдкреЗрдЬ рдмрдирд╛рддрд╛ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред npmlatestрдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ GitHub latest рд░рд┐рд▓реАрдЬрд╝ рдмрди рдЬрд╛рддреА рд╣реИрдВ; npmbetaрдкрд░ рд░рдЦреА рд╕реНрдерд┐рд░ maintenance рд░рд┐рд▓реАрдЬрд╝ GitHublatest=falseрдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИрдВред workflow рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ dependency evidence, full-validation manifest, рдФрд░ postpublish registry verification evidence рдХреЛ рднреА post-release incident response рдХреЗ рд▓рд┐рдП GitHub release рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИред publish workflow рддреБрд░рдВрдд child run IDs рдкреНрд░рд┐рдВрдЯ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рди release environment gates рдХреЛ workflow token рдЕрдиреБрдореЛрджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЙрдиреНрд╣реЗрдВ auto-approve рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рдлрд▓ child jobs рдХреЛ log tails рдХреЗ рд╕рд╛рде рд╕рд╛рд░рд╛рдВрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, OpenClaw npm publish рд╕рдлрд▓ рд╣реЛрддреЗ рд╣реА GitHub release рдФрд░ dependency evidence рдХреЛ close out рдХрд░рддрд╛ рд╣реИ, рдЬрдм рднреА OpenClaw npm рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛ рд░рд╣рд╛ рд╣реЛ ClawHub рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░pnpm release:verify-betaрдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ GitHub release, npm package, рдЪреБрдиреЗ рд╣реБрдП Plugin npm packages, рдЪреБрдиреЗ рд╣реБрдП ClawHub packages, child workflow run IDs, рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ NPM Telegram run ID рдХреЗ рд▓рд┐рдП postpublish evidence рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИред ClawHub рдкрде transient CLI dependency install рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ retry рдХрд░рддрд╛ рд╣реИ, рдПрдХ preview cell flake рд╣реЛрдиреЗ рдкрд░ рднреА preview-passing Plugins рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рд╣рд░ рдЕрдкреЗрдХреНрд╖рд┐рдд Plugin version рдХреЗ рд▓рд┐рдП registry verification рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ partial publishes рджрд┐рдЦрд╛рдИ рджреЗрдВ рдФрд░ retry рдХрд┐рдП рдЬрд╛ рд╕рдХреЗрдВред рдлрд┐рд░ рдкреНрд░рдХрд╛рд╢рд┐рддopenclaw@YYYY.M.PATCH-beta.Nрдпрд╛openclaw@betaрдкреИрдХреЗрдЬ рдХреЗ рд╡рд┐рд░реБрджреНрдз post-publish package acceptance рдЪрд▓рд╛рдПрдБред рдпрджрд┐ рдкреБрд╢ рдпрд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреНрд░реАрд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд╕реБрдзрд╛рд░ рдЪрд╛рд╣рд┐рдП, рддреЛ рдЕрдЧрд▓реА рдореЗрд▓ рдЦрд╛рддреА рдкреНрд░реАрд░рд┐рд▓реАрдЬрд╝ рд╕рдВрдЦреНрдпрд╛ рдХрд╛рдЯреЗрдВ; рдкреБрд░рд╛рдиреЗ рдкреНрд░реАрд░рд┐рд▓реАрдЬрд╝ рдХреЛ рд╣рдЯрд╛рдПрдБ рдпрд╛ рдлрд┐рд░ рд╕реЗ рди рд▓рд┐рдЦреЗрдВред - рд╕реНрдерд┐рд░ рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рддрдм рдЖрдЧреЗ рдмрдврд╝реЗрдВ рдЬрдм рдЬрд╛рдБрдЪреЗ рд╣реБрдП рдмреАрдЯрд╛ рдпрд╛ рд░рд┐рд▓реАрдЬрд╝ рдЙрдореНрдореАрджрд╡рд╛рд░ рдХреЗ рдкрд╛рд╕
рдЖрд╡рд╢реНрдпрдХ рд╕рддреНрдпрд╛рдкрди evidence рд╣реЛред рд╕реНрдерд┐рд░ npm publish рднреА
OpenClaw Release Publishрд╕реЗ рд╣реЛрдХрд░ рдЬрд╛рддрд╛ рд╣реИ, рд╕рдлрд▓ рдкреНрд░реАрдлреНрд▓рд╛рдЗрдЯ artifact рдХреЛpreflight_run_idрдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд┐рд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП; рд╕реНрдерд┐рд░ macOS release readiness рдХреЗ рд▓рд┐рдП packaged.zip,.dmg,.dSYM.zip, рдФрд░mainрдкрд░ рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛appcast.xmlрднреА рдЖрд╡рд╢реНрдпрдХ рд╣реИред macOS publish workflow рд░рд┐рд▓реАрдЬрд╝ assets verify рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж signed appcast рдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХmainрдкрд░ рд╕реНрд╡рддрдГ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ; рдпрджрд┐ branch protection direct push рдХреЛ рдмреНрд▓реЙрдХ рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ appcast PR рдЦреЛрд▓рддрд╛ рдпрд╛ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рд╕реНрдерд┐рд░ Windows Hub readiness рдХреЗ рд▓рд┐рдП OpenClaw GitHub release рдкрд░ signedOpenClawCompanion-Setup-x64.exe,OpenClawCompanion-Setup-arm64.exe, рдФрд░OpenClawCompanion-SHA256SUMS.txtassets рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред рд╕рдЯреАрдХ signedopenclaw/openclaw-windows-noderelease tag рдХреЛwindows_node_tagрдХреЗ рд░реВрдк рдореЗрдВ рдФрд░ рдЙрд╕рдХреЗ candidate-approved installer digest map рдХреЛwindows_node_installer_digestsрдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ;OpenClaw Release Publishrelease draft рдХреЛ рд░рдЦрддрд╛ рд╣реИ,Windows Node Releasedispatch рдХрд░рддрд╛ рд╣реИ, рдФрд░ publication рд╕реЗ рдкрд╣рд▓реЗ рддреАрдиреЛрдВ assets verify рдХрд░рддрд╛ рд╣реИред - publish рдХреЗ рдмрд╛рдж, npm post-publish verifier рдЪрд▓рд╛рдПрдБ, рдЬрдм post-publish channel proof рдЪрд╛рд╣рд┐рдП рд╣реЛ рддреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ standalone published-npm Telegram E2E рдЪрд▓рд╛рдПрдБ, рдЬрд░реВрд░рдд рдкрдбрд╝рдиреЗ рдкрд░ dist-tag promotion рдХрд░реЗрдВ, рдЬрдирд░реЗрдЯреЗрдб GitHub release page verify рдХрд░реЗрдВ, release announcement steps рдЪрд▓рд╛рдПрдБ, рдлрд┐рд░ рд╕реНрдерд┐рд░ рд░рд┐рд▓реАрдЬрд╝ рдХреЛ finished рдХрд╣рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Stable main closeout рдкреВрд░рд╛ рдХрд░реЗрдВред
Stable main closeout
рд╕реНрдерд┐рд░ рдкреНрд░рдХрд╛рд╢рди рддрдм рддрдХ рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рдЬрдм рддрдХ main рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ shipped
рд░рд┐рд▓реАрдЬрд╝ state рди рд╣реЛред
- рддрд╛рдЬрд╝рд╛ рдирд╡реАрдирддрдо
mainрд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред рдЙрд╕рдХреЗ рд╡рд┐рд░реБрджреНрдзrelease/YYYY.M.PATCHрдХрд╛ рдСрдбрд┐рдЯ рдХрд░реЗрдВ рдФрд░ рдЙрди рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕реБрдзрд╛рд░реЛрдВ рдХреЛ forward-port рдХрд░реЗрдВ рдЬреЛmainрдореЗрдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИрдВред release-only рд╕рдВрдЧрддрддрд╛, рдЯреЗрд╕реНрдЯ, рдпрд╛ рд╕рддреНрдпрд╛рдкрди adapters рдХреЛ рдирдПmainрдореЗрдВ рдЖрдБрдЦ рдореВрдБрджрдХрд░ merge рди рдХрд░реЗрдВред mainрдХреЛ shipped рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ, рдХрд┐рд╕реА рдХрд╛рд▓реНрдкрдирд┐рдХ рдЕрдЧрд▓реА train рдкрд░ рдирд╣реАрдВред root version change рдХреЗ рдмрд╛рджpnpm release:prepрдЪрд▓рд╛рдПрдБ, рдлрд┐рд░pnpm deps:shrinkwrap:generateрдЪрд▓рд╛рдПрдБредmainрдкрд░CHANGELOG.mdрдХреЗ## YYYY.M.PATCHsection рдХреЛ tagged release branch рд╕реЗ рдмрд┐рд▓реНрдХреБрд▓ рдорд┐рд▓рд╛рдПрдБред рдЬрдм mac release рдиреЗ stableappcast.xmlupdate рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реЛ, рддреЛ рдЙрд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред- рдЬрдм рддрдХ operator рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрд╕ release train рдХреЛ рд╢реБрд░реВ рди рдХрд░реЗ, рддрдм рддрдХ
mainрдореЗрдВYYYY.M.PATCH+1, beta version, рдпрд╛ рдЦрд╛рд▓реА рднрд╡рд┐рд╖реНрдп changelog section рди рдЬреЛрдбрд╝реЗрдВред pnpm release:generated:check,pnpm deps:shrinkwrap:check, рдФрд░OPENCLAW_TESTBOX=1 pnpm check:changedрдЪрд▓рд╛рдПрдБред Push рдХрд░реЗрдВ, рдлрд┐рд░ stable release рдХреЛ рдкреВрд░реНрдг рдХрд╣рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ verify рдХрд░реЗрдВ рдХрд┐origin/mainрдореЗрдВ shipped version рдФрд░ changelog рдореМрдЬреВрдж рд╣реИрдВред- рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдЬреА rollback drill рдХреЗ рдмрд╛рдж repository variables
RELEASE_ROLLBACK_DRILL_IDрдФрд░RELEASE_ROLLBACK_DRILL_DATEрдХреЛ current рд░рдЦреЗрдВредOpenClaw Stable Main CloseoutрдЙрд╕mainpush рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ stable publication рдХреЗ рдмрд╛рдж shipped version, changelog, рдФрд░ appcast рдореМрдЬреВрдж рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ shipped tag рдХреЛ рдЙрд╕рдХреЗ Full Release Validation рдФрд░ Publish runs рд╕реЗ рдмрд╛рдБрдзрдиреЗ рдХреЗ рд▓рд┐рдП immutable postpublish evidence рдкрдврд╝рддрд╛ рд╣реИ, рдлрд┐рд░ stable main state, release, рдЕрдирд┐рд╡рд╛рд░реНрдп stable soak, рдФрд░ blocking performance evidence рдХреЛ verify рдХрд░рддрд╛ рд╣реИред рдпрд╣ GitHub release рдореЗрдВ рдПрдХ immutable closeout manifest рдФрд░ checksum attach рдХрд░рддрд╛ рд╣реИред automatic push trigger рдЙрди legacy releases рдХреЛ skip рдХрд░рддрд╛ рд╣реИ рдЬреЛ immutable postpublish evidence рд╕реЗ рдкрд╣рд▓реЗ рдХреА рд╣реИрдВ; рдпрд╣ рдЙрд╕ skip рдХреЛ рдХрднреА completed closeout рдирд╣реАрдВ рдорд╛рдирддрд╛ред Complete closeout рдХреЗ рд▓рд┐рдП assets рдФрд░ matching checksum рджреЛрдиреЛрдВ рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВред Partial manifest рдЕрдкрдиреЗ recordedmainSHA рдФрд░ rollback drill рдХреЛ replay рдХрд░рдХреЗ identical bytes regenerate рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ missing checksum attach рдХрд░рддрд╛ рд╣реИ; invalid pair, рдпрд╛ manifest рдХреЗ рдмрд┐рдирд╛ checksum, blocking рд░рд╣рддрд╛ рд╣реИред rollback drill repository variables рдХреЗ рдмрд┐рдирд╛ push-triggered run closeout complete рдХрд┐рдП рдмрд┐рдирд╛ skip рдХрд░рддрд╛ рд╣реИ; missing рдпрд╛ 90 рджрд┐рдиреЛрдВ рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд░рд╛рдиреЗ drill record рд╕реЗ manual evidence-backed closeout рдлрд┐рд░ рднреА block рд░рд╣рддрд╛ рд╣реИред Private recovery commands maintainer-only runbook рдореЗрдВ рд░рд╣рддреА рд╣реИрдВред Manual dispatch рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ evidence-backed stable closeout рдХреЛ repair рдпрд╛ replay рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред Legacy fallback correction tag base-package evidence рдХрд╛ reuse рдХреЗрд╡рд▓ рддрдм рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдЬрдм correction tag base stable tag рдХреЗ рд╕рдорд╛рди source commit рдкрд░ resolve рд╣реЛрддрд╛ рд╣реЛред рдЕрд▓рдЧ source рд╡рд╛рд▓реА correction рдХреЛ рдЕрдкрдирд╛ package evidence publish рдФрд░ verify рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд░рд┐рд▓реАрдЬрд╝ рдкреВрд░реНрд╡-рдЬрд╛рдВрдЪ
- рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░реАрдлрд╝реНрд▓рд╛рдЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ
pnpm check:test-typesрдЪрд▓рд╛рдПрдБ, рддрд╛рдХрд┐ рдкрд░реАрдХреНрд╖рдг TypeScript рддреЗрдЬрд╝ рд╕реНрдерд╛рдиреАрдпpnpm checkрдЧреЗрдЯ рдХреЗ рдмрд╛рд╣рд░ рднреА рдХрд╡рд░ рд░рд╣реЗ - рд░рд┐рд▓реАрдЬрд╝ рдкреНрд░реАрдлрд╝реНрд▓рд╛рдЗрдЯ рд╕реЗ рдкрд╣рд▓реЗ
pnpm check:architectureрдЪрд▓рд╛рдПрдБ, рддрд╛рдХрд┐ рд╡реНрдпрд╛рдкрдХ import cycle рдФрд░ architecture boundary checks рддреЗрдЬрд╝ рд╕реНрдерд╛рдиреАрдп рдЧреЗрдЯ рдХреЗ рдмрд╛рд╣рд░ рд╣рд░реЗ рд░рд╣реЗрдВ pnpm release:checkрд╕реЗ рдкрд╣рд▓реЗpnpm build && pnpm ui:buildрдЪрд▓рд╛рдПрдБ, рддрд╛рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рддdist/*рд░рд┐рд▓реАрдЬрд╝ artifacts рдФрд░ Control UI рдмрдВрдбрд▓ pack validation рдЪрд░рдг рдХреЗ рд▓рд┐рдП рдореМрдЬреВрдж рд╣реЛрдВ- root version bump рдХреЗ рдмрд╛рдж рдФрд░ tagging рд╕реЗ рдкрд╣рд▓реЗ
pnpm release:prepрдЪрд▓рд╛рдПрдБред рдпрд╣ рд╣рд░ deterministic release generator рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ version/config/API рдмрджрд▓рд╛рд╡ рдХреЗ рдмрд╛рдж рдЖрдо рддреМрд░ рдкрд░ drift рдХрд░рддрд╛ рд╣реИ: Plugin versions, Plugin inventory, base config schema, bundled channel config metadata, config docs baseline, Plugin SDK exports, рдФрд░ Plugin SDK API baselineредpnpm release:checkрдЙрди guards рдХреЛ check mode рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ package release checks рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ pass рдореЗрдВ рдорд┐рд▓реЗ рд╣рд░ generated drift failure рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИред - Plugin version sync рдЖрдзрд┐рдХрд╛рд░рд┐рдХ Plugin package versions рдФрд░ рдореМрдЬреВрджрд╛
openclaw.compat.pluginApifloors рдХреЛ default рд░реВрдк рд╕реЗ OpenClaw release version рдкрд░ рдЕрдкрдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЙрд╕ field рдХреЛ Plugin SDK/runtime API floor рдорд╛рдиреЗрдВ, рдХреЗрд╡рд▓ package version рдХреА copy рдирд╣реАрдВ: рдЙрди Plugin-only releases рдХреЗ рд▓рд┐рдП рдЬреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдкреБрд░рд╛рдиреЗ OpenClaw hosts рдХреЗ рд╕рд╛рде compatible рд░рд╣рддреЗ рд╣реИрдВ, floor рдХреЛ рд╕рдмрд╕реЗ рдкреБрд░рд╛рдиреЗ supported host API рдкрд░ рд░рдЦреЗрдВ рдФрд░ рдЙрд╕ рдЪреБрдирд╛рд╡ рдХреЛ Plugin release proof рдореЗрдВ document рдХрд░реЗрдВред - Release approval рд╕реЗ рдкрд╣рд▓реЗ manual
Full Release Validationworkflow рдЪрд▓рд╛рдПрдБ, рддрд╛рдХрд┐ рд╕рднреА pre-release test boxes рдПрдХ entrypoint рд╕реЗ рд╢реБрд░реВ рд╣реЛрдВред рдпрд╣ branch, tag, рдпрд╛ full commit SHA рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, manualCIdispatch рдХрд░рддрд╛ рд╣реИ, рдФрд░ install smoke, package acceptance, cross-OS package checks, QA Lab parity, Matrix, рдФрд░ Telegram lanes рдХреЗ рд▓рд┐рдПOpenClaw Release Checksdispatch рдХрд░рддрд╛ рд╣реИред Stable рдФрд░ full runs рд╣рдореЗрд╢рд╛ exhaustive live/E2E рдФрд░ Docker release-path soak рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ;run_release_soak=trueрдПрдХ explicit beta soak рдХреЗ рд▓рд┐рдП рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред Package Acceptance candidate validation рдХреЗ рджреМрд░рд╛рди canonical package Telegram E2E рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рджреВрд╕рд░рд╛ concurrent live poller рдирд╣реАрдВ рдЪрд▓рддрд╛ред Beta рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рджrelease_package_specрджреЗрдВ, рддрд╛рдХрд┐ shipped npm package рдХреЛ release checks, Package Acceptance, рдФрд░ package Telegram E2E рдореЗрдВ release tarball rebuild рдХрд┐рдП рдмрд┐рдирд╛ reuse рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗредnpm_telegram_package_specрдХреЗрд╡рд▓ рддрдм рджреЗрдВ рдЬрдм Telegram рдХреЛ рдмрд╛рдХреА release validation рд╕реЗ рдЕрд▓рдЧ published package рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛредpackage_acceptance_package_specрддрдм рджреЗрдВ рдЬрдм Package Acceptance рдХреЛ release package spec рд╕реЗ рдЕрд▓рдЧ published package рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛредevidence_package_specрддрдм рджреЗрдВ рдЬрдм release evidence report рдХреЛ рдпрд╣ рд╕рд╛рдмрд┐рдд рдХрд░рдирд╛ рд╣реЛ рдХрд┐ validation published npm package рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдмрд┐рдирд╛ Telegram E2E force рдХрд┐рдПред рдЙрджрд╛рд╣рд░рдг:gh workflow run full-release-validation.yml --ref main -f ref=release/YYYY.M.PATCH - рдЬрдм release work рдЬрд╛рд░реА рд░рд╣рддреЗ рд╣реБрдП package candidate рдХреЗ рд▓рд┐рдП side-channel proof рдЪрд╛рд╣рд┐рдП рд╣реЛ, рддрдм
manual
Package Acceptanceworkflow рдЪрд▓рд╛рдПрдБредopenclaw@beta,openclaw@latest, рдпрд╛ exact release version рдХреЗ рд▓рд┐рдПsource=npmрдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ; currentworkflow_refharness рдХреЗ рд╕рд╛рде trustedpackage_refbranch/tag/SHA pack рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПsource=ref; required SHA-256 рдФрд░ strict public URL policy рд╡рд╛рд▓реЗ public HTTPS tarball рдХреЗ рд▓рд┐рдПsource=url; requiredtrusted_source_idрдФрд░ SHA-256 рд╡рд╛рд▓реЗ named trusted-source policy рдХреЗ рд▓рд┐рдПsource=trusted-url; рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп GitHub Actions run рджреНрд╡рд╛рд░рд╛ uploaded tarball рдХреЗ рд▓рд┐рдПsource=artifactред Workflow candidate рдХреЛpackage-under-testрдореЗрдВ resolve рдХрд░рддрд╛ рд╣реИ, рдЙрд╕ tarball рдХреЗ рд╡рд┐рд░реБрджреНрдз Docker E2E release scheduler reuse рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЙрд╕реА tarball рдХреЗ рд╕рд╛рдеtelegram_mode=mock-openaiрдпрд╛telegram_mode=live-frontierрджреНрд╡рд╛рд░рд╛ Telegram QA рдЪрд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рдЬрдм selected Docker lanes рдореЗрдВpublished-upgrade-survivorрд╢рд╛рдорд┐рд▓ рд╣реЛ, package artifact candidate рд╣реЛрддрд╛ рд╣реИ рдФрд░published_upgrade_survivor_baselinepublished baseline рдЪреБрдирддрд╛ рд╣реИредupdate-restart-authcandidate package рдХреЛ installed CLI рдФрд░ package-under-test рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рд╡рд╣ candidate update command рдХреЗ managed restart path рдХрд╛ рдЕрднреНрдпрд╛рд╕ рдХрд░реЗред рдЙрджрд╛рд╣рд░рдг:gh workflow run package-acceptance.yml --ref main -f workflow_ref=main -f source=npm -f package_spec=openclaw@beta -f suite_profile=product -f published_upgrade_survivor_baseline=openclaw@2026.4.26 -f telegram_mode=mock-openaiрд╕рд╛рдорд╛рдиреНрдп profiles:smoke: install/channel/agent, gateway network, рдФрд░ config reload lanespackage: OpenWebUI рдпрд╛ live ClawHub рдХреЗ рдмрд┐рдирд╛ artifact-native package/update/restart/Plugin lanesproduct: package profile plus MCP channels, cron/subagent cleanup, OpenAI web search, рдФрд░ OpenWebUIfull: OpenWebUI рдХреЗ рд╕рд╛рде Docker release-path chunkscustom: focused rerun рдХреЗ рд▓рд┐рдП exactdocker_lanesselection
- рдЬрдм release candidate рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ deterministic normal
CI coverage рдЪрд╛рд╣рд┐рдП рд╣реЛ, рддрдм manual
CIworkflow рд╕реАрдзреЗ рдЪрд▓рд╛рдПрдБред Manual CI dispatches changed scoping рдХреЛ bypass рдХрд░рддреЗ рд╣реИрдВ рдФрд░ Linux Node shards, bundled-Plugin shards, Plugin рдФрд░ channel contract shards, Node 22 compatibility,check-*,check-additional-*, built-artifact smoke checks, docs checks, Python skills, Windows, macOS, рдФрд░ Control UI i18n lanes рдХреЛ force рдХрд░рддреЗ рд╣реИрдВред Standalone manual CI Android рдХреЗрд╡рд▓ рддрдм рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬрдмinclude_android=trueрдХреЗ рд╕рд╛рде dispatch рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛ;Full Release ValidationрдЕрдкрдиреЗ CI child рдХреЗ рд▓рд┐рдП рд╡рд╣ input pass рдХрд░рддрд╛ рд╣реИред Android рд╕рд╣рд┐рдд рдЙрджрд╛рд╣рд░рдг:gh workflow run ci.yml --ref release/YYYY.M.PATCH -f include_android=true - Release telemetry validate рдХрд░рддреЗ рд╕рдордп
pnpm qa:otel:smokeрдЪрд▓рд╛рдПрдБред рдпрд╣ local OTLP/HTTP receiver рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ QA-lab рдЪрд▓рд╛рддрд╛ рд╣реИ рдФрд░ trace, metric, рдФрд░ log export рдХреЗ рд╕рд╛рде bounded trace attributes рдФрд░ content/identifier redaction verify рдХрд░рддрд╛ рд╣реИ, рдмрд┐рдирд╛ Opik, Langfuse, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп external collector рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗред - Collector compatibility validate рдХрд░рддреЗ рд╕рдордп
pnpm qa:otel:collector-smokeрдЪрд▓рд╛рдПрдБред рдпрд╣ local receiver assertions рд╕реЗ рдкрд╣рд▓реЗ рдЙрд╕реА QA-lab OTLP export рдХреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ OpenTelemetry Collector Docker container рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ route рдХрд░рддрд╛ рд╣реИред - Protected Prometheus scraping validate рдХрд░рддреЗ рд╕рдордп
pnpm qa:prometheus:smokeрдЪрд▓рд╛рдПрдБред рдпрд╣ QA-lab рдЪрд▓рд╛рддрд╛ рд╣реИ, unauthenticated scrapes reject рдХрд░рддрд╛ рд╣реИ, рдФрд░ verify рдХрд░рддрд╛ рд╣реИ рдХрд┐ release-critical metric families prompt content, raw identifiers, auth tokens, рдФрд░ local paths рд╕реЗ рдореБрдХреНрдд рд░рд╣реЗрдВред - рдЬрдм source-checkout OpenTelemetry рдФрд░ Prometheus smoke lanes back to back рдЪрд╛рд╣рд┐рдП рд╣реЛрдВ,
рддрдм
pnpm qa:observability:smokeрдЪрд▓рд╛рдПрдБред - рд╣рд░ tagged release рд╕реЗ рдкрд╣рд▓реЗ
pnpm release:checkрдЪрд▓рд╛рдПрдБ OpenClaw NPM Releasepreflight npm tarball pack рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ dependency release evidence generate рдХрд░рддрд╛ рд╣реИред npm advisory vulnerability gate release-blocking рд╣реИред Transitive manifest risk, dependency ownership/install surface, рдФрд░ dependency change reports рдХреЗрд╡рд▓ release evidence рд╣реИрдВред Dependency change report release candidate рдХреА рддреБрд▓рдирд╛ рдкрд┐рдЫрд▓реЗ reachable release tag рд╕реЗ рдХрд░рддрд╛ рд╣реИред- Preflight dependency evidence рдХреЛ
openclaw-release-dependency-evidence-<tag>рдХреЗ рд░реВрдк рдореЗрдВ upload рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ prepared npm preflight artifact рдХреЗ рднреАрддрд░dependency-evidence/рдХреЗ рддрд╣рдд embed рднреА рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡рд┐рдХ publish path рдЙрд╕реА preflight artifact рдХреЛ reuse рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рд╡рд╣реА evidence GitHub release рдореЗрдВopenclaw-<version>-dependency-evidence.zipрдХреЗ рд░реВрдк рдореЗрдВ attach рдХрд░рддрд╛ рд╣реИред - Tag рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж mutating publish sequence рдХреЗ рд▓рд┐рдП
OpenClaw Release PublishрдЪрд▓рд╛рдПрдБред рдЗрд╕реЗrelease/YYYY.M.PATCHрд╕реЗ dispatch рдХрд░реЗрдВ (рдпрд╛ main-reachable tag publish рдХрд░рддреЗ рд╕рдордпmainрд╕реЗ), release tag, successful OpenClaw npmpreflight_run_id, рдФрд░ successfulfull_release_validation_run_idpass рдХрд░реЗрдВ, рдФрд░ default Plugin publish scopeall-publishableрд░рдЦреЗрдВ, рдЬрдм рддрдХ рдЖрдк рдЬрд╛рдирдмреВрдЭрдХрд░ focused repair рдирд╣реАрдВ рдЪрд▓рд╛ рд░рд╣реЗ рд╣реЛрдВред Workflow Plugin npm publish, Plugin ClawHub publish, рдФрд░ OpenClaw npm publish рдХреЛ serialize рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ core package рдЕрдкрдиреЗ externalized Plugins рд╕реЗ рдкрд╣рд▓реЗ publish рди рд╣реЛред - Stable
OpenClaw Release PublishрдХреЛ matching non-prereleaseopenclaw/openclaw-windows-noderelease рдореМрдЬреВрдж рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж exactwindows_node_tagрдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ candidate-approvedwindows_node_installer_digestsmap рднреА рдЪрд╛рд╣рд┐рдПред рдХрд┐рд╕реА рднреА publish child рдХреЛ dispatch рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ verify рдХрд░рддрд╛ рд╣реИ рдХрд┐ source release published рд╣реИ, non-prerelease рд╣реИ, required x64/ARM64 installers рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдЕрднреА рднреА рдЙрд╕ approved map рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИред рдлрд┐рд░ рдпрд╣ OpenClaw release рдХреЗ draft рд░рд╣рддреЗ рд╣реБрдПWindows Node Releasedispatch рдХрд░рддрд╛ рд╣реИ, pinned installer digest map рдХреЛ рдмрд┐рдирд╛ рдмрджрд▓рд╛рд╡ carry рдХрд░рддрд╛ рд╣реИред Child workflow рдЙрд╕ exact tag рд╕реЗ signed Windows Hub installers download рдХрд░рддрд╛ рд╣реИ, рдЙрдиреНрд╣реЗрдВ pinned digests рд╕реЗ match рдХрд░рддрд╛ рд╣реИ, Windows runner рдкрд░ verify рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА Authenticode signatures expected OpenClaw Foundation signer рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИрдВ, SHA-256 manifest рд▓рд┐рдЦрддрд╛ рд╣реИ, рдФрд░ installers plus manifest рдХреЛ canonical OpenClaw GitHub release рдкрд░ upload рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ promoted assets рдХреЛ re-download рдХрд░рдХреЗ manifest membership рдФрд░ hashes verify рдХрд░рддрд╛ рд╣реИред Parent publication рд╕реЗ рдкрд╣рд▓реЗ current x64, ARM64, рдФрд░ checksum asset contract verify рдХрд░рддрд╛ рд╣реИред Direct recovery expected contract assets рдХреЛ pinned source bytes рд╕реЗ replace рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ unexpectedOpenClawCompanion-*asset names reject рдХрд░рддрд╛ рд╣реИредWindows Node Releasemanual рд░реВрдк рд╕реЗ рдХреЗрд╡рд▓ recovery рдХреЗ рд▓рд┐рдП dispatch рдХрд░реЗрдВ, рдФрд░ рд╣рдореЗрд╢рд╛ exact tag pass рдХрд░реЗрдВ,latestрдХрднреА рдирд╣реАрдВ, рд╕рд╛рде рд╣реА approved source release рд╕реЗ explicitexpected_installer_digestsJSON map рджреЗрдВред Website download links рдХреЛ current stable release рдХреЗ exact OpenClaw release asset URLs target рдХрд░рдиреЗ рдЪрд╛рд╣рд┐рдП, рдпрд╛releases/latest/download/...рдХреЗрд╡рд▓ рддрдм рдЬрдм verify рдХрд░ рд▓рд┐рдпрд╛ рд╣реЛ рдХрд┐ GitHub рдХрд╛ latest redirect рдЙрд╕реА release рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ; рдХреЗрд╡рд▓ companion repo release page рд╕реЗ link рди рдХрд░реЗрдВред - Release checks рдЕрдм рдЕрд▓рдЧ manual workflow рдореЗрдВ рдЪрд▓рддреЗ рд╣реИрдВ:
OpenClaw Release Checks OpenClaw Release Checksrelease approval рд╕реЗ рдкрд╣рд▓реЗ QA Lab mock parity lane plus fast live Matrix profile рдФрд░ Telegram QA lane рднреА рдЪрд▓рд╛рддрд╛ рд╣реИред Live lanesqa-live-sharedenvironment рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ; Telegram Convex CI credential leases рднреА рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдкрдХреЛ full Matrix transport, media, рдФрд░ E2EE inventory parallel рдЪрд╛рд╣рд┐рдП рд╣реЛ, рддрдм manualQA-Lab - All Lanesworkflow рдХреЛmatrix_profile=allрдФрд░matrix_shards=trueрдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдПрдБред- Cross-OS install рдФрд░ upgrade runtime validation public
OpenClaw Release ChecksрдФрд░Full Release ValidationрдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИ, рдЬреЛ reusable workflow.github/workflows/openclaw-cross-os-release-checks-reusable.ymlрдХреЛ рд╕реАрдзреЗ call рдХрд░рддреЗ рд╣реИрдВ - рдпрд╣ рд╡рд┐рднрд╛рдЬрди intentional рд╣реИ: рд╡рд╛рд╕реНрддрд╡рд┐рдХ npm release path рдХреЛ рдЫреЛрдЯрд╛, deterministic, рдФрд░ artifact-focused рд░рдЦреЗрдВ, рдЬрдмрдХрд┐ рдзреАрдореЗ live checks рдЕрдкрдиреЗ lane рдореЗрдВ рд░рд╣реЗрдВ рддрд╛рдХрд┐ рд╡реЗ publish рдХреЛ stall рдпрд╛ block рди рдХрд░реЗрдВ
- Secret-bearing release checks рдХреЛ
Full Release ValidationрдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╛main/release workflow ref рд╕реЗ dispatch рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддрд╛рдХрд┐ workflow logic рдФрд░ secrets рдирд┐рдпрдВрддреНрд░рд┐рдд рд░рд╣реЗрдВ OpenClaw Release Checksbranch, tag, рдпрд╛ full commit SHA рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрдм рддрдХ resolved commit OpenClaw branch рдпрд╛ release tag рд╕реЗ reachable рд╣реЛOpenClaw NPM Releasevalidation-only preflight current full 40-character workflow-branch commit SHA рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, pushed tag рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛- рд╡рд╣ SHA path рдХреЗрд╡рд▓ validation-only рд╣реИ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ publish рдореЗрдВ promote рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛
- SHA mode рдореЗрдВ workflow package metadata check рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓
v<package.json version>synthesize рдХрд░рддрд╛ рд╣реИ; real publish рдХреЛ рдЕрднреА рднреА real release tag рдЪрд╛рд╣рд┐рдП - рджреЛрдиреЛрдВ workflows real publish рдФрд░ promotion path рдХреЛ GitHub-hosted runners рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рдЬрдмрдХрд┐ non-mutating validation path рдмрдбрд╝реЗ Blacksmith Linux runners рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИ
- рд╡рд╣ workflow рджреЛрдиреЛрдВ
OPENAI_API_KEYрдФрд░ANTHROPIC_API_KEYworkflow secrets рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдПOPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cacheрдЪрд▓рд╛рддрд╛ рд╣реИ - npm release preflight рдЕрдм рдЕрд▓рдЧ release checks lane рдХрд╛ рдЗрдВрддрдЬрд╝рд╛рд░ рдирд╣реАрдВ рдХрд░рддрд╛
- Release candidate рдХреЛ locally tag рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ
RELEASE_TAG=vYYYY.M.PATCH-beta.N pnpm release:fast-pretag-checkрдЪрд▓рд╛рдПрдБред Helper fast release guardrails, Plugin npm/ClawHub release checks, build, UI build, рдФрд░release:openclaw:npm:checkрдХреЛ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдЪрд▓рд╛рддрд╛ рд╣реИ рдЬреЛ GitHub publish workflow рд╢реБрд░реВ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдо approval-blocking рдЧрд▓рддрд┐рдпрд╛рдБ рдкрдХрдбрд╝рддрд╛ рд╣реИред - Approval рд╕реЗ рдкрд╣рд▓реЗ
RELEASE_TAG=vYYYY.M.PATCH node --import tsx scripts/openclaw-npm-release-check.ts(рдпрд╛ matching beta/correction tag) рдЪрд▓рд╛рдПрдБ - npm publish рдХреЗ рдмрд╛рдж, рдЪрд▓рд╛рдПрдБ
node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.PATCH(рдпрд╛ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓рд╛ beta/correction рд╕рдВрд╕реНрдХрд░рдг) рддрд╛рдХрд┐ рдкреНрд░рдХрд╛рд╢рд┐рдд registry install path рдХреЛ рдПрдХ рдирдП temp prefix рдореЗрдВ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ - beta publish рдХреЗ рдмрд╛рдж,
OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@YYYY.M.PATCH-beta.N OPENCLAW_NPM_TELEGRAM_CREDENTIAL_SOURCE=convex OPENCLAW_NPM_TELEGRAM_CREDENTIAL_ROLE=ci pnpm test:docker:npm-telegram-liveрдЪрд▓рд╛рдПрдВ рддрд╛рдХрд┐ рд╕рд╛рдЭрд╛ leased Telegram credential pool рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рдХрд╛рд╢рд┐рдд npm package рдХреЗ рд╡рд┐рд░реБрджреНрдз installed-package onboarding, Telegram setup, рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ Telegram E2E рд╕рддреНрдпрд╛рдкрд┐рдд рд╣реЛ рд╕рдХреЗред рд╕реНрдерд╛рдиреАрдп maintainer one-offs Convex vars рдХреЛ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рддреАрдиOPENCLAW_QA_TELEGRAM_*env credentials рд╕реАрдзреЗ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред - maintainer рдорд╢реАрди рд╕реЗ рдкреВрд░рд╛ post-publish beta smoke рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
pnpm release:beta-smoke -- --beta betaNрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред helper Parallels npm update/fresh-target validation рдЪрд▓рд╛рддрд╛ рд╣реИ,NPM Telegram Beta E2Edispatch рдХрд░рддрд╛ рд╣реИ, exact workflow run poll рдХрд░рддрд╛ рд╣реИ, artifact download рдХрд░рддрд╛ рд╣реИ, рдФрд░ Telegram report print рдХрд░рддрд╛ рд╣реИред - Maintainers GitHub Actions рд╕реЗ рднреА рд╡рд╣реА post-publish check рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ,
manual
NPM Telegram Beta E2Eworkflow рдХреЗ рдЬрд░рд┐рдПред рдпрд╣ рдЬрд╛рдирдмреВрдЭрдХрд░ manual-only рд╣реИ рдФрд░ рд╣рд░ merge рдкрд░ рдирд╣реАрдВ рдЪрд▓рддрд╛ред - Maintainer release automation рдЕрдм preflight-then-promote рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ npm publish рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ npm
preflight_run_idpass рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╡рд╛рд╕реНрддрд╡рд┐рдХ npm publish рдЙрд╕реА
mainрдпрд╛release/YYYY.M.PATCHbranch рд╕реЗ dispatch рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рд╕реЗ рд╕рдлрд▓ preflight run рд╣реБрдЖ рдерд╛ - stable npm releases default рд░реВрдк рд╕реЗ
betaрдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ - stable npm publish workflow input рдХреЗ рдЬрд░рд┐рдП explicit рд░реВрдк рд╕реЗ
latesttarget рдХрд░ рд╕рдХрддрд╛ рд╣реИ - token-based npm dist-tag mutation рдЕрдм
openclaw/releases/.github/workflows/openclaw-npm-dist-tags.ymlрдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐npm dist-tag addрдХреЛ рдЕрднреА рднреАNPM_TOKENрдЪрд╛рд╣рд┐рдП рдЬрдмрдХрд┐ source repo OIDC-only publish рд░рдЦрддрд╛ рд╣реИ - public
macOS Releasevalidation-only рд╣реИ; рдЬрдм рдХреЛрдИ tag рдХреЗрд╡рд▓ release branch рдкрд░ рд╣реЛ рд▓реЗрдХрд┐рди workflowmainрд╕реЗ dispatch рд╣реЛ, рддреЛpublic_release_branch=release/YYYY.M.PATCHset рдХрд░реЗрдВ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ macOS publish рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ macOS
preflight_run_idрдФрд░validate_run_idpass рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рд╡рд╛рд╕реНрддрд╡рд┐рдХ publish paths artifacts рдХреЛ рдлрд┐рд░ рд╕реЗ rebuild рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп prepared artifacts promote рдХрд░рддреЗ рд╣реИрдВ
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ npm publish рдХреЗ рд▓рд┐рдП рд╕рдлрд▓ npm
YYYY.M.PATCH-NрдЬреИрд╕реЗ stable correction releases рдХреЗ рд▓рд┐рдП, post-publish verifierYYYY.M.PATCHрд╕реЗYYYY.M.PATCH-NрддрдХ рд╡рд╣реА temp-prefix upgrade path рднреА check рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ release corrections рдЪреБрдкрдЪрд╛рдк рдкреБрд░рд╛рдиреЗ global installs рдХреЛ base stable payload рдкрд░ рди рдЫреЛрдбрд╝ рджреЗрдВ- npm release preflight рддрдм рддрдХ fail closed рд░рд╣рддрд╛ рд╣реИ рдЬрдм рддрдХ tarball рдореЗрдВ
dist/control-ui/index.htmlрдФрд░ non-emptydist/control-ui/assets/payload рджреЛрдиреЛрдВ рд╢рд╛рдорд┐рд▓ рди рд╣реЛрдВ, рддрд╛рдХрд┐ рд╣рдо рдлрд┐рд░ рд╕реЗ рдЦрд╛рд▓реА browser dashboard ship рди рдХрд░реЗрдВ - Post-publish verification рдпрд╣ рднреА check рдХрд░рддрд╛ рд╣реИ рдХрд┐ published Plugin entrypoints рдФрд░
package metadata installed registry layout рдореЗрдВ рдореМрдЬреВрдж рд╣реИрдВред рдХреЛрдИ release рдЬреЛ
missing Plugin runtime payloads ship рдХрд░рддрд╛ рд╣реИ, postpublish verifier рдореЗрдВ fail рд╣реЛрддрд╛ рд╣реИ рдФрд░
latestрдкрд░ promote рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ред pnpm test:install:smokecandidate update tarball рдкрд░ npm packunpackedSizebudget рднреА enforce рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ installer e2e release publish path рд╕реЗ рдкрд╣рд▓реЗ accidental pack bloat рдкрдХрдбрд╝ рд╕рдХреЗ- рдпрджрд┐ release work рдиреЗ CI planning, extension timing manifests, рдпрд╛
extension test matrices рдХреЛ рдЫреБрдЖ рд╣реИ, рддреЛ approval рд╕реЗ рдкрд╣рд▓реЗ
.github/workflows/plugin-prerelease.ymlрд╕реЗ planner-ownedplugin-prerelease-extension-shardmatrix outputs regenerate рдФрд░ review рдХрд░реЗрдВ, рддрд╛рдХрд┐ release notes stale CI layout рдХрд╛ рд╡рд░реНрдгрди рди рдХрд░реЗрдВ - Stable macOS release readiness рдореЗрдВ updater surfaces рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
- GitHub release рдореЗрдВ рдЕрдВрддрддрдГ packaged
.zip,.dmg, рдФрд░.dSYM.zipрд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП - publish рдХреЗ рдмрд╛рдж
mainрдкрд░appcast.xmlрдХреЛ рдирдП stable zip рдХреА рдУрд░ point рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП; macOS publish workflow рдЗрд╕реЗ automatically commit рдХрд░рддрд╛ рд╣реИ, рдпрд╛ direct push blocked рд╣реЛрдиреЗ рдкрд░ appcast PR рдЦреЛрд▓рддрд╛ рд╣реИ - packaged app рдореЗрдВ non-debug bundle id, non-empty Sparkle feed
URL, рдФрд░ рдЙрд╕ release version рдХреЗ canonical Sparkle build floor рдкрд░ рдпрд╛ рдЙрд╕рд╕реЗ рдКрдкрд░ рдХрд╛
CFBundleVersionрдмрдирд╛ рд░рд╣рдирд╛ рдЪрд╛рд╣рд┐рдП
- GitHub release рдореЗрдВ рдЕрдВрддрддрдГ packaged
рд░рд┐рд▓реАрдЬрд╝ рдЯреЗрд╕реНрдЯ рдмреЙрдХреНрд╕
Full Release Validation рд╡рд╣ рддрд░реАрдХрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдСрдкрд░реЗрдЯрд░ рд╕рднреА рдкреНрд░реА-рд░рд┐рд▓реАрдЬрд╝ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЛ
рдПрдХ рдПрдВрдЯреНрд░реАрдкреЙрдЗрдВрдЯ рд╕реЗ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рддреЗрдЬрд╝реА рд╕реЗ рдмрджрд▓рддреА рд╢рд╛рдЦрд╛ рдкрд░ рдкрд┐рди рдХрд┐рдП рдЧрдП рдХрдорд┐рдЯ рдкреНрд░рдорд╛рдг рдХреЗ рд▓рд┐рдП,
рд╣реЗрд▓реНрдкрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рддрд╛рдХрд┐ рд╣рд░ рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд▓рдХреНрд╖реНрдп
SHA рдкрд░ рд╕реНрдерд┐рд░ рдЕрд╕реНрдерд╛рдпреА рд╢рд╛рдЦрд╛ рд╕реЗ рдЪрд▓реЗ:
pnpm ci:full-release --sha <full-sha>рд╣реЗрд▓реНрдкрд░ release-ci/<sha>-... рдкреБрд╢ рдХрд░рддрд╛ рд╣реИ, рдЙрд╕ рд╢рд╛рдЦрд╛ рд╕реЗ Full Release Validation
рдХреЛ ref=<sha> рдХреЗ рд╕рд╛рде рдбрд┐рд╕реНрдкреИрдЪ рдХрд░рддрд╛ рд╣реИ, рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ headSha
рд▓рдХреНрд╖реНрдп рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рдЕрд╕реНрдерд╛рдпреА рд╢рд╛рдЦрд╛ рд╣рдЯрд╛рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ рдЧрд▓рддреА рд╕реЗ
рдХрд┐рд╕реА рдирдП main рдЪрд╛рдЗрд▓реНрдб рд░рди рдХреЛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдмрдЪрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдпрд╛ рдЯреИрдЧ рд╡реИрд▓рд┐рдбреЗрд╢рди рдХреЗ рд▓рд┐рдП, рдЗрд╕реЗ рднрд░реЛрд╕реЗрдордВрдж main рд╡рд░реНрдХрдлрд╝реНрд▓реЛ
ref рд╕реЗ рдЪрд▓рд╛рдПрдБ рдФрд░ рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдпрд╛ рдЯреИрдЧ рдХреЛ ref рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд╕ рдХрд░реЗрдВ:
gh workflow run full-release-validation.yml \ --ref main \ -f ref=release/YYYY.M.PATCH \ -f provider=openai \ -f mode=both \ -f release_profile=stable \ -f evidence_package_spec=openclaw@YYYY.M.PATCH-beta.Nрд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд▓рдХреНрд╖реНрдп ref рдХреЛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡ рдХрд░рддрд╛ рд╣реИ, target_ref=<release-ref> рдХреЗ рд╕рд╛рде
рдореИрдиреБрдЕрд▓ CI рдбрд┐рд╕реНрдкреИрдЪ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ OpenClaw Release Checks рдбрд┐рд╕реНрдкреИрдЪ рдХрд░рддрд╛ рд╣реИред
OpenClaw Release Checks рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдореЛрдХ, рдХреНрд░реЙрд╕-OS рд░рд┐рд▓реАрдЬрд╝ рдЪреЗрдХ,
soak рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдкрд░ рд▓рд╛рдЗрд╡/E2E Docker рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде рдХрд╡рд░реЗрдЬ, рдХреИрдиреЙрдирд┐рдХрд▓ Telegram рдкреИрдХреЗрдЬ E2E рдХреЗ рд╕рд╛рде
Package Acceptance, QA Lab рдкреИрд░рд┐рдЯреА, рд▓рд╛рдЗрд╡ Matrix, рдФрд░ рд▓рд╛рдЗрд╡
Telegram рдХреЛ рдлреИрд▓рд╛рддрд╛ рд╣реИред рдкреВрд░рд╛/all рд░рди рдХреЗрд╡рд▓ рддрднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИ рдЬрдм Full Release Validation
рд╕рд╛рд░рд╛рдВрд╢ normal_ci, plugin_prerelease, рдФрд░ release_checks рдХреЛ
рд╕рдлрд▓ рджрд┐рдЦрд╛рдП, рдЬрдм рддрдХ рдХрд┐ рдХреЛрдИ рдХреЗрдВрджреНрд░рд┐рдд рд░реА-рд░рди рдЬрд╛рдирдмреВрдЭрдХрд░ рдЕрд▓рдЧ Plugin Prerelease рдЪрд╛рдЗрд▓реНрдб рдХреЛ рдЫреЛрдбрд╝ рди рджреЗред рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди npm-telegram рдЪрд╛рдЗрд▓реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓
release_package_spec рдпрд╛
npm_telegram_package_spec рдХреЗ рд╕рд╛рде рдХреЗрдВрджреНрд░рд┐рдд рдкреНрд░рдХрд╛рд╢рд┐рдд-рдкреИрдХреЗрдЬ рд░реА-рд░рди рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред рдЕрдВрддрд┐рдо
рд╡реЗрд░рд┐рдлрд╛рдпрд░ рд╕рд╛рд░рд╛рдВрд╢ рдореЗрдВ рд╣рд░ рдЪрд╛рдЗрд▓реНрдб рд░рди рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдзреАрдореЗ-рдЬреЙрдм рддрд╛рд▓рд┐рдХрд╛рдПрдБ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреА рд╣реИрдВ, рддрд╛рдХрд┐ рд░рд┐рд▓реАрдЬрд╝
рдореИрдиреЗрдЬрд░ рд▓реЙрдЧ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдмрд┐рдирд╛ рдореМрдЬреВрджрд╛ рдХреНрд░рд┐рдЯрд┐рдХрд▓ рдкрд╛рде рджреЗрдЦ рд╕рдХреЗред
рдкреВрд░реНрдг рд╕реНрдЯреЗрдЬ рдореИрдЯреНрд░рд┐рдХреНрд╕, рд╕рдЯреАрдХ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЬреЙрдм рдирд╛рдо, stable рдмрдирд╛рдо full рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓
рдЕрдВрддрд░, рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ, рдФрд░ рдХреЗрдВрджреНрд░рд┐рдд рд░реА-рд░рди рд╣реИрдВрдбрд▓ рдХреЗ рд▓рд┐рдП рдкреВрд░реНрдг рд░рд┐рд▓реАрдЬрд╝ рд╡реИрд▓рд┐рдбреЗрд╢рди рджреЗрдЦреЗрдВред
рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдЙрд╕ рднрд░реЛрд╕реЗрдордВрдж ref рд╕реЗ рдбрд┐рд╕реНрдкреИрдЪ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ рдЬреЛ Full Release Validation рдЪрд▓рд╛рддрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдпрддрдГ --ref main, рднрд▓реЗ рд╣реА рд▓рдХреНрд╖реНрдп ref рдХрд┐рд╕реА
рдкреБрд░рд╛рдиреА рд░рд┐рд▓реАрдЬрд╝ рд╢рд╛рдЦрд╛ рдпрд╛ рдЯреИрдЧ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддрд╛ рд╣реЛред рдХреЛрдИ рдЕрд▓рдЧ Full Release Validation
рд╡рд░реНрдХрдлрд╝реНрд▓реЛ-ref рдЗрдирдкреБрдЯ рдирд╣реАрдВ рд╣реИ; рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд░рди ref рдЪреБрдирдХрд░ рднрд░реЛрд╕реЗрдордВрдж рд╣рд╛рд░реНрдиреЗрд╕ рдЪреБрдиреЗрдВред
рдЪрд▓рддреЗ рд╣реБрдП main рдкрд░ рд╕рдЯреАрдХ рдХрдорд┐рдЯ рдкреНрд░рдорд╛рдг рдХреЗ рд▓рд┐рдП --ref main -f ref=<sha> рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ;
рдХрдЪреНрдЪреЗ рдХрдорд┐рдЯ SHA рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдбрд┐рд╕реНрдкреИрдЪ ref рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ, рдЗрд╕рд▓рд┐рдП
рдкрд┐рди рдХреА рдЧрдИ рдЕрд╕реНрдерд╛рдпреА рд╢рд╛рдЦрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП pnpm ci:full-release --sha <sha> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд▓рд╛рдЗрд╡/рдкреНрд░рджрд╛рддрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП release_profile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
minimum: рд╕рдмрд╕реЗ рддреЗрдЬрд╝ рд░рд┐рд▓реАрдЬрд╝-рдХреНрд░рд┐рдЯрд┐рдХрд▓ OpenAI/core рд▓рд╛рдЗрд╡ рдФрд░ Docker рдкрд╛рдеstable: рд░рд┐рд▓реАрдЬрд╝ рдЕрдиреБрдореЛрджрди рдХреЗ рд▓рд┐рдП minimum рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рд░ рдкреНрд░рджрд╛рддрд╛/рдмреИрдХрдПрдВрдб рдХрд╡рд░реЗрдЬfull: stable рдХреЗ рд╕рд╛рде рд╡рд┐рд╕реНрддреГрдд рд╕рд▓рд╛рд╣рдХрд╛рд░ рдкреНрд░рджрд╛рддрд╛/рдореАрдбрд┐рдпрд╛ рдХрд╡рд░реЗрдЬ
Stable рдФрд░ full рд╡реИрд▓рд┐рдбреЗрд╢рди рдкреНрд░рдореЛрд╢рди рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрд╢рд╛ рд╕рдВрдкреВрд░реНрдг рд▓рд╛рдЗрд╡/E2E, Docker
рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде, рдФрд░ рд╕реАрдорд┐рдд рдкреНрд░рдХрд╛рд╢рд┐рдд рдЕрдкрдЧреНрд░реЗрдб-рд╕рд░реНрд╡рд╛рдЗрд╡рд░ рд╕реНрд╡реАрдк рдЪрд▓рд╛рддреЗ рд╣реИрдВред
beta рдХреЗ рд▓рд┐рдП рд╡рд╣реА рд╕реНрд╡реАрдк рдорд╛рдБрдЧрдиреЗ рд╣реЗрддреБ run_release_soak=true рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдпрд╣ рд╕реНрд╡реАрдк
рдирд╡реАрдирддрдо рдЪрд╛рд░ stable рдкреИрдХреЗрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдкрд┐рди рдХрд┐рдП рдЧрдП 2026.4.23 рдФрд░ 2026.5.2
рдмреЗрд╕рд▓рд╛рдЗрди рддрдерд╛ рдкреБрд░рд╛рдиреЗ 2026.4.15 рдХрд╡рд░реЗрдЬ рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИ, рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдмреЗрд╕рд▓рд╛рдЗрди рд╣рдЯрд╛рдХрд░
рд╣рд░ рдмреЗрд╕рд▓рд╛рдЗрди рдХреЛ рдЙрд╕рдХреЗ рдЕрдкрдиреЗ Docker рд░рдирд░ рдЬреЙрдм рдореЗрдВ рд╢рд╛рд░реНрдб рдХрд░рддрд╛ рд╣реИред
OpenClaw Release Checks рд▓рдХреНрд╖реНрдп
ref рдХреЛ рдПрдХ рдмрд╛рд░ release-package-under-test рдХреЗ рд░реВрдк рдореЗрдВ рд░рд┐рдЬрд╝реЙрд▓реНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднрд░реЛрд╕реЗрдордВрдж рд╡рд░реНрдХрдлрд╝реНрд▓реЛ ref рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ soak рдЪрд▓рдиреЗ рдкрд░ рдЙрд╕ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЛ рдХреНрд░реЙрд╕-OS,
Package Acceptance, рдФрд░ рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде Docker рдЪреЗрдХ рдореЗрдВ рджреЛрдмрд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд╕реЗ
рд╕рднреА рдкреИрдХреЗрдЬ-рдлреЗрд╕рд┐рдВрдЧ рдмреЙрдХреНрд╕ рд╡рд╣реА рдмрд╛рдЗрдЯреНрд╕ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдмрд╛рд░-рдмрд╛рд░ рдкреИрдХреЗрдЬ рдмрд┐рд▓реНрдб рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВред
beta рдкрд╣рд▓реЗ рд╕реЗ npm рдкрд░ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, release_package_spec=openclaw@YYYY.M.PATCH-beta.N рд╕реЗрдЯ рдХрд░реЗрдВ
рддрд╛рдХрд┐ рд░рд┐рд▓реАрдЬрд╝ рдЪреЗрдХ рднреЗрдЬреЗ рдЧрдП рдкреИрдХреЗрдЬ рдХреЛ рдПрдХ рдмрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдЙрд╕рдХрд╛ рдмрд┐рд▓реНрдб рд╕реНрд░реЛрдд
SHA dist/build-info.json рд╕реЗ рдирд┐рдХрд╛рд▓реЗрдВ, рдФрд░ рдЙрд╕ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХреЛ рдХреНрд░реЙрд╕-OS,
Package Acceptance, рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде Docker, рдФрд░ рдкреИрдХреЗрдЬ Telegram рд▓реЗрди рдХреЗ рд▓рд┐рдП рджреЛрдмрд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░реЗрдВред
рдХреНрд░реЙрд╕-OS OpenAI рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдореЛрдХ OPENCLAW_CROSS_OS_OPENAI_MODEL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдЬрдм
repo/org рд╡реИрд░рд┐рдПрдмрд▓ рд╕реЗрдЯ рд╣реЛ, рдЕрдиреНрдпрдерд╛ openai/gpt-5.4, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд▓реЗрди
рд╕рдмрд╕реЗ рдзреАрдореЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореЙрдбрд▓ рдХреЛ рдмреЗрдВрдЪрдорд╛рд░реНрдХ рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдкреИрдХреЗрдЬ рдЗрдВрд╕реНрдЯреЙрд▓, рдСрдирдмреЛрд░реНрдбрд┐рдВрдЧ,
Gateway рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк, рдФрд░ рдПрдХ рд▓рд╛рдЗрд╡ рдПрдЬреЗрдВрдЯ рдЯрд░реНрди рд╕рд╛рдмрд┐рдд рдХрд░ рд░рд╣реА рд╣реИред рд╡реНрдпрд╛рдкрдХ рд▓рд╛рдЗрд╡ рдкреНрд░рджрд╛рддрд╛
рдореИрдЯреНрд░рд┐рдХреНрд╕ рдореЙрдбрд▓-рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╡рд░реЗрдЬ рдХреА рдЬрдЧрд╣ рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИред
рд░рд┐рд▓реАрдЬрд╝ рдЪрд░рдг рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЗрди рд╡реЗрд░рд┐рдПрдВрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
# Validate an unpublished release candidate branch.gh workflow run full-release-validation.yml \ --ref main \ -f ref=release/YYYY.M.PATCH \ -f provider=openai \ -f mode=both \ -f release_profile=stable # Validate an exact pushed commit.gh workflow run full-release-validation.yml \ --ref main \ -f ref=<40-char-sha> \ -f provider=openai \ -f mode=both # After publishing a beta, add published-package Telegram E2E.gh workflow run full-release-validation.yml \ --ref main \ -f ref=release/YYYY.M.PATCH \ -f provider=openai \ -f mode=both \ -f release_profile=full \ -f release_package_spec=openclaw@YYYY.M.PATCH-beta.N \ -f evidence_package_spec=openclaw@YYYY.M.PATCH-beta.N \ -f npm_telegram_provider_mode=mock-openaiрдХреЗрдВрджреНрд░рд┐рдд рдлрд┐рдХреНрд╕ рдХреЗ рдмрд╛рдж рдкрд╣рд▓реЗ рд░реА-рд░рди рдХреЗ рд░реВрдк рдореЗрдВ рдкреВрд░реНрдг рдЕрдВрдмреНрд░реЗрд▓рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВред рдпрджрд┐ рдПрдХ рдмреЙрдХреНрд╕
рд╡рд┐рдлрд▓ рд╣реЛ, рддреЛ рдЕрдЧрд▓реЗ рдкреНрд░рдорд╛рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рдлрд▓ рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ, рдЬреЙрдм, Docker рд▓реЗрди, рдкреИрдХреЗрдЬ рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓, рдореЙрдбрд▓
рдкреНрд░рджрд╛рддрд╛, рдпрд╛ QA рд▓реЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкреВрд░реНрдг рдЕрдВрдмреНрд░реЗрд▓рд╛ рдлрд┐рд░ рдХреЗрд╡рд▓ рддрдм рдЪрд▓рд╛рдПрдБ рдЬрдм
рдлрд┐рдХреНрд╕ рдиреЗ рд╕рд╛рдЭрд╛ рд░рд┐рд▓реАрдЬрд╝ рдСрд░реНрдХреЗрд╕реНрдЯреНрд░реЗрд╢рди рдмрджрд▓рд╛ рд╣реЛ рдпрд╛ рдкрд╣рд▓реЗ рдХрд╛ all-box рдкреНрд░рдорд╛рдг
рдмрд╛рд╕реА рдмрдирд╛ рджрд┐рдпрд╛ рд╣реЛред рдЕрдВрдмреНрд░реЗрд▓рд╛ рдХрд╛ рдЕрдВрддрд┐рдо рд╡реЗрд░рд┐рдлрд╛рдпрд░ рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд░рди
ids рдХреЛ рджреЛрдмрд╛рд░рд╛ рдЬрд╛рдБрдЪрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд┐рд╕реА рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЗ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░реА-рд░рди рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХреЗрд╡рд▓ рд╡рд┐рдлрд▓
Verify full validation рдкреИрд░реЗрдВрдЯ рдЬреЙрдм рдХреЛ рд░реА-рд░рди рдХрд░реЗрдВред
рд╕реАрдорд┐рдд рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП, рдЕрдВрдмреНрд░реЗрд▓рд╛ рдХреЛ rerun_group рдкрд╛рд╕ рдХрд░реЗрдВред all рд╡рд╛рд╕реНрддрд╡рд┐рдХ
рд░рд┐рд▓реАрдЬрд╝-рдХреИрдВрдбрд┐рдбреЗрдЯ рд░рди рд╣реИ, ci рдХреЗрд╡рд▓ рд╕рд╛рдорд╛рдиреНрдп CI рдЪрд╛рдЗрд▓реНрдб рдЪрд▓рд╛рддрд╛ рд╣реИ, plugin-prerelease
рдХреЗрд╡рд▓ рд░рд┐рд▓реАрдЬрд╝-рдУрдирд▓реА Plugin рдЪрд╛рдЗрд▓реНрдб рдЪрд▓рд╛рддрд╛ рд╣реИ, release-checks рд╣рд░ рд░рд┐рд▓реАрдЬрд╝
рдмреЙрдХреНрд╕ рдЪрд▓рд╛рддрд╛ рд╣реИ, рдФрд░ рд╕рдВрдХрд░реЗ рд░рд┐рд▓реАрдЬрд╝ рд╕рдореВрд╣ install-smoke, cross-os,
live-e2e, package, qa, qa-parity, qa-live, рдФрд░ npm-telegram рд╣реИрдВред
рдХреЗрдВрджреНрд░рд┐рдд npm-telegram рд░реА-рд░рди рдХреЗ рд▓рд┐рдП release_package_spec рдпрд╛
npm_telegram_package_spec рдЖрд╡рд╢реНрдпрдХ рд╣реИ; full/all рд░рди Package Acceptance рдХреЗ рдЕрдВрджрд░ рдХреИрдиреЙрдирд┐рдХрд▓ рдкреИрдХреЗрдЬ Telegram
E2E рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреЗрдВрджреНрд░рд┐рдд
рдХреНрд░реЙрд╕-OS рд░реА-рд░рди cross_os_suite_filter=windows/packaged-upgrade рдпрд╛
рджреВрд╕рд░рд╛ OS/рд╕реВрдЯ рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред QA рд░рд┐рд▓реАрдЬрд╝-рдЪреЗрдХ рд╡рд┐рдлрд▓рддрд╛рдПрдБ рд╕рд╛рдорд╛рдиреНрдп рд░рд┐рд▓реАрдЬрд╝
рд╡реИрд▓рд┐рдбреЗрд╢рди рдХреЛ рд░реЛрдХрддреА рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдорд╛рдирдХ рдЯрд┐рдпрд░ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ OpenClaw рдбрд╛рдпрдиреЗрдорд┐рдХ рдЯреВрд▓ рдбреНрд░рд┐рдлреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИред
Tideclaw alpha рд░рди рдЕрдм рднреА рдЧреИрд░-рдкреИрдХреЗрдЬ-рд╕реБрд░рдХреНрд╖рд╛ рд░рд┐рд▓реАрдЬрд╝-рдЪреЗрдХ рд▓реЗрди рдХреЛ
рд╕рд▓рд╛рд╣рдХрд╛рд░ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм live_suite_filter рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ Discord, WhatsApp, рдпрд╛ Slack рдЬреИрд╕реА gated QA рд▓рд╛рдЗрд╡ рд▓реЗрди рдорд╛рдБрдЧрддрд╛ рд╣реИ, рддреЛ рдореЗрд▓ рдЦрд╛рддрд╛
OPENCLAW_RELEASE_QA_*_LIVE_CI_ENABLED repo рд╡реИрд░рд┐рдПрдмрд▓ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдЕрдиреНрдпрдерд╛
рдЗрдирдкреБрдЯ рдХреИрдкреНрдЪрд░ рд▓реЗрди рдХреЛ рдЪреБрдкрдЪрд╛рдк рдЫреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИред
Vitest
Vitest рдмреЙрдХреНрд╕ рдореИрдиреБрдЕрд▓ CI рдЪрд╛рдЗрд▓реНрдб рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣реИред рдореИрдиреБрдЕрд▓ CI рдЬрд╛рдирдмреВрдЭрдХрд░
changed scoping рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд░рд┐рд▓реАрдЬрд╝
рдХреИрдВрдбрд┐рдбреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрд╕реНрдЯ рдЧреНрд░рд╛рдлрд╝ рдХреЛ рдмрд╛рдзреНрдп рдХрд░рддрд╛ рд╣реИ: Linux Node рд╢рд╛рд░реНрдб, bundled-plugin рд╢рд╛рд░реНрдб, Plugin рдФрд░ рдЪреИрдирд▓ рдХреЙрдиреНрдЯреНрд░реИрдХреНрдЯ
рд╢рд╛рд░реНрдб, Node 22 рд╕рдВрдЧрддрддрд╛, check-*, check-additional-*,
рдмрд┐рд▓реНрдЯ-рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рд╕реНрдореЛрдХ рдЪреЗрдХ, рдбреЙрдХреНрд╕ рдЪреЗрдХ, Python Skills, Windows, macOS,
рдФрд░ Control UI i18nред Android рддрдм рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдЬрдм Full Release Validation
рдмреЙрдХреНрд╕ рдЪрд▓рд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЕрдВрдмреНрд░реЗрд▓рд╛ include_android=true рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ; рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореИрдиреБрдЕрд▓ CI
рдХреЗ рд▓рд┐рдП Android рдХрд╡рд░реЗрдЬ рд╣реЗрддреБ include_android=true рдЖрд╡рд╢реНрдпрдХ рд╣реИред
рдЗрд╕ рдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдХрд┐ "рдХреНрдпрд╛ рд╕реЛрд░реНрд╕ рдЯреНрд░реА рдиреЗ рдкреВрд░рд╛ рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрд╕реНрдЯ рд╕реВрдЯ рдкрд╛рд╕ рдХрд┐рдпрд╛?" рдпрд╣ рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде рдЙрддреНрдкрд╛рдж рд╡реИрд▓рд┐рдбреЗрд╢рди рдЬреИрд╕рд╛ рдирд╣реАрдВ рд╣реИред рд░рдЦрдиреЗ рдпреЛрдЧреНрдп рдкреНрд░рдорд╛рдг:
Full Release Validationрд╕рд╛рд░рд╛рдВрд╢ рдЬреЛ рдбрд┐рд╕реНрдкреИрдЪ рдХрд┐рдП рдЧрдПCIрд░рди URL рдХреЛ рджрд┐рдЦрд╛рдП- рд╕рдЯреАрдХ рд▓рдХреНрд╖реНрдп SHA рдкрд░
CIрд░рди рдЧреНрд░реАрди - рд░рд┐рдЧреНрд░реЗрд╢рди рдХреА рдЬрд╛рдБрдЪ рдХрд░рддреЗ рд╕рдордп CI рдЬреЙрдм рд╕реЗ рд╡рд┐рдлрд▓ рдпрд╛ рдзреАрдореЗ рд╢рд╛рд░реНрдб рдирд╛рдо
- Vitest рдЯрд╛рдЗрдорд┐рдВрдЧ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдЬреИрд╕реЗ
.artifacts/vitest-shard-timings.jsonрдЬрдм рдХрд┐рд╕реА рд░рди рдХреЛ рдкрд░рдлрд╝реЙрд░реНрдореЗрдВрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЪрд╛рд╣рд┐рдП
рдореИрдиреБрдЕрд▓ CI рд╕реАрдзреЗ рдХреЗрд╡рд▓ рддрдм рдЪрд▓рд╛рдПрдБ рдЬрдм рд░рд┐рд▓реАрдЬрд╝ рдХреЛ deterministic рд╕рд╛рдорд╛рдиреНрдп CI рдЪрд╛рд╣рд┐рдП рд▓реЗрдХрд┐рди
Docker, QA Lab, рд▓рд╛рдЗрд╡, рдХреНрд░реЙрд╕-OS, рдпрд╛ рдкреИрдХреЗрдЬ рдмреЙрдХреНрд╕ рдирд╣реАрдВред рдЧреИрд░-Android рд╕реАрдзреЗ CI рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдХрдорд╛рдВрдб
рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЬрдм рд╕реАрдзреЗ
рд░рд┐рд▓реАрдЬрд╝-рдХреИрдВрдбрд┐рдбреЗрдЯ CI рдХреЛ Android рдХрд╡рд░ рдХрд░рдирд╛ рд╣реЛ, рддрдм include_android=true рдЬреЛрдбрд╝реЗрдВ:
gh workflow run ci.yml --ref main -f target_ref=release/YYYY.M.PATCHgh workflow run ci.yml --ref main -f target_ref=release/YYYY.M.PATCH -f include_android=trueDocker
Docker рдмреЙрдХреНрд╕ OpenClaw Release Checks рдореЗрдВ
openclaw-live-and-e2e-checks-reusable.yml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд░рд╣рддрд╛ рд╣реИ, рд╕рд╛рде рд╣реА release-mode
install-smoke рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдореЗрдВред рдпрд╣ рд░рд┐рд▓реАрдЬрд╝ рдХреИрдВрдбрд┐рдбреЗрдЯ рдХреЛ рдХреЗрд╡рд▓ рд╕реЛрд░реНрд╕-рд▓реЗрд╡рд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдкреИрдХреЗрдЬреНрдб
Docker рд╡рд╛рддрд╛рд╡рд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд░рддрд╛ рд╣реИред
рд░рд┐рд▓реАрдЬрд╝ Docker рдХрд╡рд░реЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ:
- рдзреАрдореЗ Bun рдЧреНрд▓реЛрдмрд▓ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдореЛрдХ рд╕рдХреНрд╖рдо рдХреЗ рд╕рд╛рде рдкреВрд░рд╛ рдЗрдВрд╕реНрдЯреЙрд▓ рд╕реНрдореЛрдХ
- рд▓рдХреНрд╖реНрдп SHA рджреНрд╡рд╛рд░рд╛ root Dockerfile рд╕реНрдореЛрдХ рдЗрдореЗрдЬ рддреИрдпрд╛рд░реА/рдкреБрдирдГ рдЙрдкрдпреЛрдЧ, рдЬрд┐рд╕рдореЗрдВ QR, root/gateway, рдФрд░ installer/Bun рд╕реНрдореЛрдХ рдЬреЙрдм рдЕрд▓рдЧ install-smoke рд╢рд╛рд░реНрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд▓рддреА рд╣реИрдВ
- рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА E2E рд▓реЗрди
- рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде Docker рдЪрдВрдХ:
core,package-update-openai,package-update-anthropic,package-update-core,plugins-runtime-plugins,plugins-runtime-services,plugins-runtime-install-a,plugins-runtime-install-b,plugins-runtime-install-c,plugins-runtime-install-d,plugins-runtime-install-e,plugins-runtime-install-f,plugins-runtime-install-g, рдФрд░plugins-runtime-install-h - рдЕрдиреБрд░реЛрдз рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░
plugins-runtime-servicesрдЪрдВрдХ рдХреЗ рдЕрдВрджрд░ OpenWebUI рдХрд╡рд░реЗрдЬ - рд╡рд┐рднрд╛рдЬрд┐рдд bundled Plugin рдЗрдВрд╕реНрдЯреЙрд▓/рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рд▓реЗрди
bundled-plugin-install-uninstall-0рд╕реЗbundled-plugin-install-uninstall-23рддрдХ - рдЬрдм рд░рд┐рд▓реАрдЬрд╝ рдЪреЗрдХ рд▓рд╛рдЗрд╡ рд╕реВрдЯ рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВ, рддрдм рд▓рд╛рдЗрд╡/E2E рдкреНрд░рджрд╛рддрд╛ рд╕реВрдЯ рдФрд░ Docker рд▓рд╛рдЗрд╡ рдореЙрдбрд▓ рдХрд╡рд░реЗрдЬ
рд░реА-рд░рди рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ Docker рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рд░рд┐рд▓реАрдЬрд╝-рдкрд╛рде рд╢реЗрдбреНрдпреВрд▓рд░
.artifacts/docker-tests/ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд▓реЗрди рд▓реЙрдЧ, summary.json, failures.json,
рдлреЗрдЬрд╝ рдЯрд╛рдЗрдорд┐рдВрдЧ, рд╢реЗрдбреНрдпреВрд▓рд░ рдкреНрд▓рд╛рди JSON, рдФрд░ рд░реА-рд░рди рдХрдорд╛рдВрдб рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВред рдХреЗрдВрджреНрд░рд┐рдд рд░рд┐рдХрд╡рд░реА рдХреЗ рд▓рд┐рдП,
рд╕рднреА рд░рд┐рд▓реАрдЬрд╝ рдЪрдВрдХ рджреЛрдмрд╛рд░рд╛ рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрдЬрд╛рдп reusable рд▓рд╛рдЗрд╡/E2E рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдкрд░
docker_lanes=<lane[,lane]> рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЬрдирд░реЗрдЯ рдХрд┐рдП рдЧрдП рд░реА-рд░рди рдХрдорд╛рдВрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдкреВрд░реНрд╡
package_artifact_run_id рдФрд░ рддреИрдпрд╛рд░ Docker рдЗрдореЗрдЬ рдЗрдирдкреБрдЯ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рддрд╛рдХрд┐
рд╡рд┐рдлрд▓ рд▓реЗрди рд╡рд╣реА tarball рдФрд░ GHCR рдЗрдореЗрдЬ рджреЛрдмрд╛рд░рд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░ рд╕рдХреЗред
QA Lab
QA Lab рдмреЙрдХреНрд╕ рднреА OpenClaw Release Checks рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рд╣реИред рдпрд╣ agentic
рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдЪреИрдирд▓-рд▓реЗрд╡рд▓ рд░рд┐рд▓реАрдЬрд╝ рдЧреЗрдЯ рд╣реИ, Vitest рдФрд░ Docker
рдкреИрдХреЗрдЬ рдореИрдХреЗрдирд┐рдХреНрд╕ рд╕реЗ рдЕрд▓рдЧред
рд░рд┐рд▓реАрдЬрд╝ QA Lab рдХрд╡рд░реЗрдЬ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИ:
- agentic рдкреИрд░рд┐рдЯреА рдкреИрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ OpenAI рдХреИрдВрдбрд┐рдбреЗрдЯ рд▓реЗрди рдХреА Opus 4.6 рдмреЗрд╕рд▓рд╛рдЗрди рд╕реЗ рддреБрд▓рдирд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реА mock рдкреИрд░рд┐рдЯреА рд▓реЗрди
qa-live-sharedрд╡рд╛рддрд╛рд╡рд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рддреЗрдЬрд╝ рд▓рд╛рдЗрд╡ Matrix QA рдкреНрд░реЛрдлрд╝рд╛рдЗрд▓- Convex CI рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓ рд▓реАрдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрд╡ Telegram QA рд▓реЗрди
- рд░рд┐рд▓реАрдЬрд╝ рдЯреЗрд▓реАрдореЗрдЯреНрд░реА рдХреЛ рд╕реНрдкрд╖реНрдЯ рд╕реНрдерд╛рдиреАрдп
рдкреНрд░рдорд╛рдг рдЪрд╛рд╣рд┐рдП рд╣реЛрдиреЗ рдкрд░
pnpm qa:otel:smoke,pnpm qa:otel:collector-smoke,pnpm qa:prometheus:smoke, рдпрд╛pnpm qa:observability:smoke
рдЗрд╕ рдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╣ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВ рдХрд┐ "рдХреНрдпрд╛ рд░рд┐рд▓реАрдЬрд╝ QA рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдФрд░ рд▓рд╛рдЗрд╡ рдЪреИрдирд▓ рдлреНрд▓реЛ рдореЗрдВ рд╕рд╣реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рддреА рд╣реИ?" рд░рд┐рд▓реАрдЬрд╝ рдЕрдиреБрдореЛрджрд┐рдд рдХрд░рддреЗ рд╕рдордп рдкреИрд░рд┐рдЯреА, Matrix, рдФрд░ Telegram рд▓реЗрди рдХреЗ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ URL рд░рдЦреЗрдВред рдкреВрд░реНрдг Matrix рдХрд╡рд░реЗрдЬ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд┐рд▓реАрдЬрд╝-рдХреНрд░рд┐рдЯрд┐рдХрд▓ рд▓реЗрди рдХреЗ рдмрдЬрд╛рдп рдореИрдиреБрдЕрд▓ sharded QA-Lab рд░рди рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд░рд╣рддрд╛ рд╣реИред
рдкреИрдХреЗрдЬ
Package рдмреЙрдХреНрд╕ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рдиреЗ рдпреЛрдЧреНрдп-рдЙрддреНрдкрд╛рдж рдЧреЗрдЯ рд╣реИред рдЗрд╕реЗ
Package Acceptance рдФрд░ resolver
scripts/resolve-openclaw-package-candidate.mjs рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред resolver рдХрд┐рд╕реА
рдХреИрдВрдбрд┐рдбреЗрдЯ рдХреЛ Docker E2E рджреНрд╡рд╛рд░рд╛ рдЙрдкрднреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ package-under-test tarball рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдпреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ,
рдкреИрдХреЗрдЬ рдЗрдиреНрд╡реЗрдВрдЯрд░реА рд╡реИрд▓рд┐рдбреЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдкреИрдХреЗрдЬ рд╡рд░реНрдЬрд╝рди рдФрд░ SHA-256 рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ, рдФрд░
рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рд╣рд╛рд░реНрдиреЗрд╕ ref рдХреЛ рдкреИрдХреЗрдЬ рд╕реНрд░реЛрдд ref рд╕реЗ рдЕрд▓рдЧ рд░рдЦрддрд╛ рд╣реИред
рд╕рдорд░реНрдерд┐рдд рдХреИрдВрдбрд┐рдбреЗрдЯ рд╕реНрд░реЛрдд:
source=npm:openclaw@beta,openclaw@latest, рдпрд╛ рдХреЛрдИ рд╕рдЯреАрдХ OpenClaw рд░рд┐рд▓реАрдЬрд╝ рд╕рдВрд╕реНрдХрд░рдгsource=ref: рдЪреБрдиреЗ рдЧрдПworkflow_refрд╣рд╛рд░реНрдиреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпpackage_refрдмреНрд░рд╛рдВрдЪ, рдЯреИрдЧ, рдпрд╛ рдкреВрд░реНрдг рдХрдорд┐рдЯ SHA рдХреЛ рдкреИрдХ рдХрд░реЗрдВsource=url: рдЖрд╡рд╢реНрдпрдХpackage_sha256рдХреЗ рд╕рд╛рде рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ HTTPS.tgzрдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ; URL рдХреНрд░реЗрдбреЗрдВрд╢рд┐рдпрд▓, рдЧреИрд░-рдбрд┐рдлрд╝реЙрд▓реНрдЯ HTTPS рдкреЛрд░реНрдЯ, рдирд┐рдЬреА/рдЖрдВрддрд░рд┐рдХ/рд╡рд┐рд╢реЗрд╖-рдЙрдкрдпреЛрдЧ рд╣реЛрд╕реНрдЯрдирд╛рдо рдпрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрд╡ рдХрд┐рдП рдЧрдП рдкрддреЗ, рдФрд░ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВsource=trusted-url:.github/package-trusted-sources.jsonрдореЗрдВ рдирд╛рдорд┐рдд рдиреАрддрд┐ рд╕реЗ рдЖрд╡рд╢реНрдпрдХpackage_sha256рдФрд░trusted_source_idрдХреЗ рд╕рд╛рде HTTPS.tgzрдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ;source=urlрдореЗрдВ рдЗрдирдкреБрдЯ-рд╕реНрддрд░ рдирд┐рдЬреА-рдиреЗрдЯрд╡рд░реНрдХ рдмрд╛рдЗрдкрд╛рд╕ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдореЗрдВрдЯреЗрдирд░-рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝ рдорд┐рд░рд░ рдпрд╛ рдирд┐рдЬреА рдкреИрдХреЗрдЬ рд░рд┐рдкреЙрдЬрд╝рд┐рдЯрд░реА рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВsource=artifact: рдХрд┐рд╕реА рдЕрдиреНрдп GitHub Actions рд░рди рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП.tgzрдХрд╛ рдкреБрдирдГ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ
OpenClaw Release Checks source=artifact, рддреИрдпрд╛рд░ рд░рд┐рд▓реАрдЬрд╝ рдкреИрдХреЗрдЬ рдЖрд░реНрдЯрд┐рдлреИрдХреНрдЯ,
suite_profile=custom,
docker_lanes=doctor-switch update-channel-switch skill-install update-corrupt-plugin upgrade-survivor published-upgrade-survivor update-restart-auth plugins-offline plugin-update,
telegram_mode=mock-openai рдХреЗ рд╕рд╛рде Package Acceptance рдЪрд▓рд╛рддрд╛ рд╣реИред Package Acceptance рдЙрд╕реА
рд░рд┐рдЬрд╝реЙрд▓реНрд╡ рдХрд┐рдП рдЧрдП рдЯрд╛рд░рдмреЙрд▓ рдХреЗ рд╡рд┐рд░реБрджреНрдз рдорд╛рдЗрдЧреНрд░реЗрд╢рди, рдЕрдкрдбреЗрдЯ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рдСрде рдЕрдкрдбреЗрдЯ
рд░реАрд╕реНрдЯрд╛рд░реНрдЯ, рд▓рд╛рдЗрд╡ ClawHub skill install, рдкреБрд░рд╛рдиреЗ Plugin dependency cleanup, рдСрдлрд╝рд▓рд╛рдЗрди Plugin
fixtures, Plugin update, рдФрд░ Telegram package QA рдмрдирд╛рдП рд░рдЦрддрд╛ рд╣реИред рдмреНрд▓реЙрдХрд┐рдВрдЧ рд░рд┐рд▓реАрдЬрд╝ рдЪреЗрдХ
рдбрд┐рдлрд╝реЙрд▓реНрдЯ latest рдкреНрд░рдХрд╛рд╢рд┐рдд рдкреИрдХреЗрдЬ baseline рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ; run_release_soak=true,
release_profile=stable, рдпрд╛ release_profile=full рд╡рд╛рд▓рд╛ beta profile 2026.4.23 рд╕реЗ
latest рддрдХ рд╣рд░ рд╕реНрдерд┐рд░ npm-рдкреНрд░рдХрд╛рд╢рд┐рдд baseline рдФрд░ рд░рд┐рдкреЛрд░реНрдЯреЗрдб-рдЗрд╢реНрдпреВ fixtures рддрдХ рдлреИрд▓рддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рд╕реЗ рд╢рд┐рдк рдХрд┐рдП рдЧрдП candidate рдХреЗ рд▓рд┐рдП source=npm рдХреЗ рд╕рд╛рде Package Acceptance рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░реЗрдВ, publish рд╕реЗ рдкрд╣рд▓реЗ SHA-backed local npm tarball рдХреЗ рд▓рд┐рдП source=ref, рдореЗрдВрдЯреЗрдирд░-рд╕реНрд╡рд╛рдорд┐рддреНрд╡
рд╡рд╛рд▓реЗ рдПрдВрдЯрд░рдкреНрд░рд╛рдЗрдЬрд╝/рдирд┐рдЬреА mirror рдХреЗ рд▓рд┐рдП source=trusted-url, рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп GitHub Actions run
рджреНрд╡рд╛рд░рд╛ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рддреИрдпрд╛рд░ tarball рдХреЗ рд▓рд┐рдП source=artifactред рдпрд╣ рдЕрдзрд┐рдХрд╛рдВрд╢ package/update
coverage рдХреЗ рд▓рд┐рдП GitHub-native replacement рд╣реИ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ Parallels рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
рд╣реЛрддреА рдереАред Cross-OS release checks рдЕрдм рднреА OS-specific onboarding, installer, рдФрд░ platform
behavior рдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ, рд▓реЗрдХрд┐рди package/update product validation рдХреЛ Package
Acceptance рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреА рдЪрд╛рд╣рд┐рдПред
update рдФрд░ Plugin validation рдХреЗ рд▓рд┐рдП canonical checklist
Testing updates and plugins рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд░реЗрдВ
рдЬрдм рдпрд╣ рддрдп рдХрд░рдирд╛ рд╣реЛ рдХрд┐ рдХреМрди рд╕рд╛ local, Docker, Package Acceptance, рдпрд╛ release-check lane рдХрд┐рд╕реА
Plugin install/update, doctor cleanup, рдпрд╛ published-package migration change рдХреЛ рд╕рд╛рдмрд┐рдд
рдХрд░рддрд╛ рд╣реИред рд╣рд░ stable 2026.4.23+ package рд╕реЗ exhaustive published update migration рдПрдХ
рдЕрд▓рдЧ manual Update Migration workflow рд╣реИ, Full Release CI рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдирд╣реАрдВред
Legacy package-acceptance leniency рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕рдордп-рд╕реАрдорд┐рдд рд╣реИред 2026.4.25 рддрдХ рдХреЗ packages
npm рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рдХрд╛рд╢рд┐рдд metadata gaps рдХреЗ рд▓рд┐рдП compatibility path рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
tarball рдореЗрдВ missing private QA inventory entries, missing gateway install --wrapper,
tarball-derived git fixture рдореЗрдВ missing patch files, missing persisted update.channel,
legacy Plugin install-record locations, missing marketplace install-record persistence,
рдФрд░ plugins update рдХреЗ рджреМрд░рд╛рди config metadata migrationред рдкреНрд░рдХрд╛рд╢рд┐рдд 2026.4.26 package
рдЙрди local build metadata stamp files рдХреЗ рд▓рд┐рдП warning рджреЗ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ shipped рдереАрдВред
рдмрд╛рдж рдХреЗ packages рдХреЛ modern package contracts рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛; рд╡рд╣реА gaps release validation
рдХреЛ fail рдХрд░рддреЗ рд╣реИрдВред
рдЬрдм release question рд╡рд╛рд╕реНрддрд╡рд┐рдХ installable package рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛ, рддрдм broader Package Acceptance profiles рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
gh workflow run package-acceptance.yml \ --ref main \ -f workflow_ref=main \ -f source=npm \ -f package_spec=openclaw@beta \ -f suite_profile=product \ -f published_upgrade_survivor_baseline=openclaw@2026.4.26рд╕рд╛рдорд╛рдиреНрдп package profiles:
smoke: quick package install/channel/agent, Gateway network, рдФрд░ config reload lanespackage: install/update/restart/Plugin package contracts рдФрд░ live ClawHub skill install proof; рдпрд╣ release-check default рд╣реИproduct:packageрдХреЗ рд╕рд╛рде MCP channels, cron/subagent cleanup, OpenAI web search, рдФрд░ OpenWebUIfull: OpenWebUI рдХреЗ рд╕рд╛рде Docker release-path chunkscustom: focused reruns рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХdocker_laneslist
package-candidate Telegram proof рдХреЗ рд▓рд┐рдП, Package Acceptance рдкрд░
telegram_mode=mock-openai рдпрд╛ telegram_mode=live-frontier рд╕рдХреНрд╖рдо рдХрд░реЗрдВред workflow
resolved package-under-test tarball рдХреЛ Telegram lane рдореЗрдВ рдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ; standalone
Telegram workflow рдЕрдм рднреА post-publish checks рдХреЗ рд▓рд┐рдП published npm spec рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред
Release publish automation
OpenClaw Release Publish рд╕рд╛рдорд╛рдиреНрдп mutating publish entrypoint рд╣реИред рдпрд╣ release рдХреА
рдЬрд╝рд░реВрд░рдд рдХреЗ рдХреНрд░рдо рдореЗрдВ trusted-publisher workflows рдХреЛ orchestrate рдХрд░рддрд╛ рд╣реИ:
- release tag checkout рдХрд░реЗрдВ рдФрд░ рдЙрд╕рдХрд╛ commit SHA resolve рдХрд░реЗрдВред
- рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░реЗрдВ рдХрд┐ tag
mainрдпрд╛release/*рд╕реЗ reachable рд╣реИред pnpm plugins:sync:checkрдЪрд▓рд╛рдПрдБредpublish_scope=all-publishableрдФрд░ref=<release-sha>рдХреЗ рд╕рд╛рдеPlugin NPM Releasedispatch рдХрд░реЗрдВред- рдЙрд╕реА scope рдФрд░ SHA рдХреЗ рд╕рд╛рде
Plugin ClawHub Releasedispatch рдХрд░реЗрдВред - saved
full_release_validation_run_idverify рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж release tag, npm dist-tag, рдФрд░ savedpreflight_run_idрдХреЗ рд╕рд╛рдеOpenClaw NPM Releasedispatch рдХрд░реЗрдВред - stable releases рдХреЗ рд▓рд┐рдП, GitHub release рдХреЛ draft рдХреЗ рд░реВрдк рдореЗрдВ create рдпрд╛ update рдХрд░реЗрдВ,
explicit
windows_node_tagрдФрд░ candidate-approvedwindows_node_installer_digestsрдХреЗ рд╕рд╛рдеWindows Node Releasedispatch рдХрд░реЗрдВ, рдФрд░ draft publish рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ canonical installer/checksum assets verify рдХрд░реЗрдВред
Beta publish example:
gh workflow run openclaw-release-publish.yml \ --ref release/YYYY.M.PATCH \ -f tag=vYYYY.M.PATCH-beta.N \ -f preflight_run_id=<successful-openclaw-npm-preflight-run-id> \ -f full_release_validation_run_id=<successful-full-release-validation-run-id> \ -f npm_dist_tag=betadefault beta dist-tag рдкрд░ stable publish:
gh workflow run openclaw-release-publish.yml \ --ref release/YYYY.M.PATCH \ -f tag=vYYYY.M.PATCH \ -f windows_node_tag=vX.Y.Z \ -f windows_node_installer_digests='{"OpenClawCompanion-Setup-x64.exe":"sha256:<approved-x64-sha256>","OpenClawCompanion-Setup-arm64.exe":"sha256:<approved-arm64-sha256>"}' \ -f preflight_run_id=<successful-openclaw-npm-preflight-run-id> \ -f full_release_validation_run_id=<successful-full-release-validation-run-id> \ -f npm_dist_tag=betaрд╕реАрдзреЗ latest рдкрд░ stable promotion explicit рд╣реИ:
gh workflow run openclaw-release-publish.yml \ --ref release/YYYY.M.PATCH \ -f tag=vYYYY.M.PATCH \ -f windows_node_tag=vX.Y.Z \ -f windows_node_installer_digests='{"OpenClawCompanion-Setup-x64.exe":"sha256:<approved-x64-sha256>","OpenClawCompanion-Setup-arm64.exe":"sha256:<approved-arm64-sha256>"}' \ -f preflight_run_id=<successful-openclaw-npm-preflight-run-id> \ -f full_release_validation_run_id=<successful-full-release-validation-run-id> \ -f npm_dist_tag=latestlower-level Plugin NPM Release рдФрд░ Plugin ClawHub Release workflows рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓
focused repair рдпрд╛ republish work рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВред OpenClaw Release Publish
publish_openclaw_npm=true рд╣реЛрдиреЗ рдкрд░ plugin_publish_scope=selected рдХреЛ reject рдХрд░рддрд╛ рд╣реИ
рддрд╛рдХрд┐ core package рд╣рд░ publishable official Plugin, рдЬрд┐рд╕рдореЗрдВ @openclaw/diffs-language-pack
рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ, рдХреЗ рдмрд┐рдирд╛ ship рди рд╣реЛ рд╕рдХреЗред selected Plugin repair рдХреЗ рд▓рд┐рдП,
plugin_publish_scope=selected рдФрд░ plugins=@openclaw/name рдХреЗ рд╕рд╛рде
publish_openclaw_npm=false рд╕реЗрдЯ рдХрд░реЗрдВ, рдпрд╛ child workflow рдХреЛ рд╕реАрдзреЗ dispatch рдХрд░реЗрдВред
NPM workflow inputs
OpenClaw NPM Release рдпреЗ operator-controlled inputs рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
tag: рдЖрд╡рд╢реНрдпрдХ release tag рдЬреИрд╕реЗv2026.4.2,v2026.4.2-1, рдпрд╛v2026.4.2-beta.1; рдЬрдмpreflight_only=trueрд╣реЛ, validation-only preflight рдХреЗ рд▓рд┐рдП рдпрд╣ current full 40-character workflow-branch commit SHA рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИpreflight_only: рдХреЗрд╡рд▓ validation/build/package рдХреЗ рд▓рд┐рдПtrue, real publish path рдХреЗ рд▓рд┐рдПfalsepreflight_run_id: real publish path рдкрд░ рдЖрд╡рд╢реНрдпрдХ рддрд╛рдХрд┐ workflow successful preflight run рд╕реЗ prepared tarball reuse рдХрд░реЗnpm_dist_tag: publish path рдХреЗ рд▓рд┐рдП npm target tag; defaultbetaрд╣реИ
OpenClaw Release Publish рдпреЗ operator-controlled inputs рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
tag: рдЖрд╡рд╢реНрдпрдХ release tag; рдкрд╣рд▓реЗ рд╕реЗ рдореМрдЬреВрдж рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПpreflight_run_id: successfulOpenClaw NPM Releasepreflight run id;publish_openclaw_npm=trueрд╣реЛрдиреЗ рдкрд░ рдЖрд╡рд╢реНрдпрдХfull_release_validation_run_id: successfulFull Release Validationrun id;publish_openclaw_npm=trueрд╣реЛрдиреЗ рдкрд░ рдЖрд╡рд╢реНрдпрдХwindows_node_tag: exact non-prereleaseopenclaw/openclaw-windows-noderelease tag; stable OpenClaw publish рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХwindows_node_installer_digests: current Windows installer names рд╕реЗ рдЙрдирдХреЗ pinnedsha256:digests рдХрд╛ candidate-approved compact JSON map; stable OpenClaw publish рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХnpm_dist_tag: OpenClaw package рдХреЗ рд▓рд┐рдП npm target tagplugin_publish_scope: defaultall-publishable;selectedрдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓publish_openclaw_npm=falseрдХреЗ рд╕рд╛рде focused plugin-only repair work рдХреЗ рд▓рд┐рдП рдХрд░реЗрдВplugins: рдЬрдмplugin_publish_scope=selectedрд╣реЛ, comma-separated@openclaw/*package namespublish_openclaw_npm: defaulttrue;falseрдХреЗрд╡рд▓ рддрдм рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрдм workflow рдХреЛ plugin-only repair orchestrator рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реЛрдВwait_for_clawhub: defaultfalseрддрд╛рдХрд┐ npm availability ClawHub sidecar рд╕реЗ block рди рд╣реЛ;trueрдХреЗрд╡рд▓ рддрдм рд╕реЗрдЯ рдХрд░реЗрдВ рдЬрдм workflow completion рдореЗрдВ ClawHub completion рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ
OpenClaw Release Checks рдпреЗ operator-controlled inputs рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
ref: validate рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП branch, tag, рдпрд╛ full commit SHAред Secret-bearing checks рдХреЗ рд▓рд┐рдП resolved commit рдХрд╛ OpenClaw branch рдпрд╛ release tag рд╕реЗ reachable рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИредrun_release_soak: beta release checks рдХреЗ рд▓рд┐рдП exhaustive live/E2E, Docker release-path, рдФрд░ all-since upgrade-survivor soak рдореЗрдВ opt in рдХрд░реЗрдВред рдЗрд╕реЗrelease_profile=stableрдФрд░release_profile=fullрджреНрд╡рд╛рд░рд╛ forced on рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рдпрдо:
- Stable рдФрд░ correction tags
betaрдпрд╛latestрдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдкрд░ рднреА publish рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - Beta prerelease tags рдХреЗрд╡рд▓
betaрдкрд░ publish рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ OpenClaw NPM ReleaseрдХреЗ рд▓рд┐рдП, full commit SHA input рдХреЗрд╡рд▓ рддрдм allowed рд╣реИ рдЬрдмpreflight_only=trueрд╣реЛOpenClaw Release ChecksрдФрд░Full Release Validationрд╣рдореЗрд╢рд╛ validation-only рд╣реИрдВ- real publish path рдХреЛ рд╡рд╣реА
npm_dist_tagрдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬреЛ preflight рдХреЗ рджреМрд░рд╛рди рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛; workflow verify рдХрд░рддрд╛ рд╣реИ рдХрд┐ metadata publish рд╕реЗ рдкрд╣рд▓реЗ рдЬрд╛рд░реА рд░рд╣рддрд╛ рд╣реИ
Stable npm release sequence
рдЬрдм stable npm release рдХрд╛рдЯ рд░рд╣реЗ рд╣реЛрдВ:
preflight_only=trueрдХреЗ рд╕рд╛рдеOpenClaw NPM ReleaseрдЪрд▓рд╛рдПрдВ- рдХрд┐рд╕реА рдЯреИрдЧ рдХреЗ рдореМрдЬреВрдж рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк preflight workflow рдХреЗ рдХреЗрд╡рд▓-рд╕рддреНрдпрд╛рдкрди dry run рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдкреВрд░реНрдг workflow-branch commit SHA рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
- рд╕рд╛рдорд╛рдиреНрдп beta-first рдкреНрд░рд╡рд╛рд╣ рдХреЗ рд▓рд┐рдП
npm_dist_tag=betaрдЪреБрдиреЗрдВ, рдпрд╛latestрдХреЗрд╡рд▓ рддрдм рдЪреБрдиреЗрдВ рдЬрдм рдЖрдк рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕реАрдзреЗ stable publish рдЪрд╛рд╣рддреЗ рд╣реЛрдВ - рдЬрдм рдЖрдк рдПрдХ manual workflow рд╕реЗ рд╕рд╛рдорд╛рдиреНрдп CI рдХреЗ рд╕рд╛рде live prompt cache, Docker, QA Lab,
Matrix, рдФрд░ Telegram рдХрд╡рд░реЗрдЬ рдЪрд╛рд╣рддреЗ рд╣реЛрдВ, рддреЛ release branch, release tag, рдпрд╛ рдкреВрд░реНрдг
commit SHA рдкрд░
Full Release ValidationрдЪрд▓рд╛рдПрдВ - рдпрджрд┐ рдЖрдкрдХреЛ рдЬрд╛рдирдмреВрдЭрдХрд░ рдХреЗрд╡рд▓ deterministic рд╕рд╛рдорд╛рдиреНрдп test graph рдЪрд╛рд╣рд┐рдП, рддреЛ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп release ref рдкрд░
manual
CIworkflow рдЪрд▓рд╛рдПрдВ - рдареАрдХ рд╡рд╣ non-prerelease
openclaw/openclaw-windows-noderelease tag рдЪреБрдиреЗрдВ рдЬрд┐рд╕рдХреЗ signed x64 рдФрд░ ARM64 installers ship рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗwindows_node_tagрдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ, рдФрд░ рдЙрдирдХреЗ validated digest map рдХреЛwindows_node_installer_digestsрдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред release-candidate helper рджреЛрдиреЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдиреЗ generated publish command рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░рддрд╛ рд╣реИред - рд╕рдлрд▓
preflight_run_idрдФрд░full_release_validation_run_idрд╕рд╣реЗрдЬреЗрдВ - рдЙрд╕реА
tag, рдЙрд╕реАnpm_dist_tag, рдЪреБрдиреЗ рдЧрдПwindows_node_tag, рдЙрд╕рдХреЗ рд╕рд╣реЗрдЬреЗ рдЧрдПwindows_node_installer_digests, рд╕рд╣реЗрдЬреЗ рдЧрдПpreflight_run_id, рдФрд░ рд╕рд╣реЗрдЬреЗ рдЧрдПfull_release_validation_run_idрдХреЗ рд╕рд╛рдеOpenClaw Release PublishрдЪрд▓рд╛рдПрдВ; рдпрд╣ OpenClaw npm package рдХреЛ promote рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ externalized plugins рдХреЛ npm рдФрд░ ClawHub рдкрд░ publish рдХрд░рддрд╛ рд╣реИ - рдпрджрд┐ release
betaрдкрд░ landed рд╣реБрдИ рд╣реИ, рддреЛ рдЙрд╕ stable version рдХреЛbetaрд╕реЗlatestрдкрд░ promote рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПopenclaw/releases/.github/workflows/openclaw-npm-dist-tags.ymlworkflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ - рдпрджрд┐ release рдЬрд╛рдирдмреВрдЭрдХрд░ рд╕реАрдзреЗ
latestрдкрд░ publish рдХреА рдЧрдИ рд╣реИ рдФрд░betaрдХреЛ рддреБрд░рдВрдд рдЙрд╕реА stable build рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ рджреЛрдиреЛрдВ dist-tags рдХреЛ stable version рдкрд░ point рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрд╕реА release workflow рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛ рдЙрд╕рдХреЗ scheduled self-healing sync рдХреЛ рдмрд╛рдж рдореЗрдВbetamove рдХрд░рдиреЗ рджреЗрдВ
dist-tag mutation release ledger repo рдореЗрдВ рд░рд╣рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдЕрднреА рднреА
NPM_TOKEN рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬрдмрдХрд┐ source repo OIDC-only publish рд░рдЦрддрд╛ рд╣реИред
рдЗрд╕рд╕реЗ direct publish path рдФрд░ beta-first promotion path рджреЛрдиреЛрдВ documented рдФрд░ operator-visible рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВред
рдпрджрд┐ рдХрд┐рд╕реА maintainer рдХреЛ local npm authentication рдкрд░ fallback рдХрд░рдирд╛ рдкрдбрд╝реЗ, рддреЛ рдХреЛрдИ рднреА 1Password
CLI (op) commands рдХреЗрд╡рд▓ dedicated tmux session рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рдПрдВред рдореБрдЦреНрдп agent shell рд╕реЗ рд╕реАрдзреЗ op
рдХреЛ call рди рдХрд░реЗрдВ; рдЗрд╕реЗ tmux рдХреЗ рдЕрдВрджрд░ рд░рдЦрдиреЗ рд╕реЗ prompts,
alerts, рдФрд░ OTP handling observable рд░рд╣рддреЗ рд╣реИрдВ рдФрд░ repeated host alerts рд░реБрдХрддреЗ рд╣реИрдВред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрджрд░реНрдн
.github/workflows/full-release-validation.yml.github/workflows/package-acceptance.yml.github/workflows/openclaw-npm-release.yml.github/workflows/openclaw-release-checks.yml.github/workflows/openclaw-cross-os-release-checks-reusable.ymlscripts/resolve-openclaw-package-candidate.mjsscripts/openclaw-npm-release-check.tsscripts/package-mac-dist.shscripts/make_appcast.sh
Maintainers рд╡рд╛рд╕реНрддрд╡рд┐рдХ runbook рдХреЗ рд▓рд┐рдП
openclaw/maintainers/release/README.md
рдореЗрдВ private release docs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред