Skip to content

Commit ed38ab3

Browse files
committed
Merge remote-tracking branch 'upstream/main' into codex/msteams-lifecycle-session-reset-99054
# Conflicts: # extensions/msteams/src/monitor-handler/message-handler.ts
2 parents 78f31a2 + b56bad3 commit ed38ab3

5,438 files changed

Lines changed: 430122 additions & 102206 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/skills/openclaw-changelog-update/SKILL.md

Lines changed: 39 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,10 @@ every human `Thanks @...` attribution.
2121

2222
- Target base version: `YYYY.M.PATCH`, without beta suffix.
2323
- Base tag: last reachable shipped release tag, usually the previous stable or
24-
the previous beta train requested by the operator.
24+
the previous beta train requested by the operator. It must be an ancestor of
25+
the target; a newer but divergent tag is not a valid history boundary. Use
26+
an explicit shipped/main-closeout SHA only when it is also reachable from the
27+
target.
2528
- Target ref: exact branch/SHA being released.
2629

2730
## Workflow
@@ -55,6 +58,15 @@ every human `Thanks @...` attribution.
5558
older merged commit omitted its PR number; the verifier excludes records
5659
for work reverted after the base tag, including beta work reverted before
5760
the stable release
61+
- add repeatable `--shipped-ref <prior-shipped-tag>` when the reachable main
62+
closeout differs from the shipped tag or later forward-port commits
63+
re-associate PRs that were already released. Each tag is a cumulative
64+
shipped boundary: the verifier unions explicit PR rows from complete
65+
contribution records in numbered release sections, excludes only overlapping PRs,
66+
and ignores `Unreleased`. Never infer this boundary from the base SHA,
67+
target prose, or target record. The manifest and generated provenance retain
68+
each tag plus the exact excluded PR inventory and count for deterministic
69+
candidate validation
5870
- source PR discovery combines merged GitHub commit associations with merged
5971
PR references explicitly present in active commit subjects/bodies so
6072
cherry-picks and squash commits remain accounted for. Resolve every
@@ -165,7 +177,13 @@ every human `Thanks @...` attribution.
165177
as shipped, when a source PR is absent from the contribution record, when
166178
direct commits are rendered as a public record dump, when non-editorial
167179
PRs appear in grouped prose, or when an eligible PR author or known
168-
co-author is missing from that PR's `Thanks @...` credit
180+
co-author is missing from that PR's `Thanks @...` credit. It also fails
181+
before history collection when `--base` is not an ancestor of `--target`,
182+
when `### Highlights` has fewer than five or more than eight top-level
183+
bullets, or when the existing prose/record names a PR outside the source
184+
range. Only an explicit `--seed-ref` may add historical PR inventory; an
185+
explicit repeatable `--shipped-ref` may subtract PRs proven present in a
186+
prior shipped tag
169187
- when grouped prose names a PR, that same bullet must retain every
170188
contributor and linked-reporter credit from its generated PR record
171189
- unqualified `#NNN` references resolve against `openclaw/openclaw`;
@@ -183,12 +201,25 @@ every human `Thanks @...` attribution.
183201
```
184202
- add one `--release-tag` for every beta and stable page in the train; a
185203
`### Release verification` tail is permitted, but any other body drift
186-
fails the check; the GitHub body must begin with the complete
187-
`## YYYY.M.PATCH` changelog section, including its heading
188-
- GitHub release bodies are limited to 125,000 characters. If the complete
189-
source section plus an existing verification tail exceeds that limit, keep
190-
the source section intact and omit the tail; never truncate the
191-
contribution record
204+
fails the check
205+
- `scripts/render-github-release-notes.mjs` is the canonical release-body
206+
renderer used by candidate validation, publish, and verification. When the
207+
complete `## YYYY.M.PATCH` section fits GitHub's 125,000-character limit and
208+
the renderer's matching 125,000-byte safety ceiling, the body must contain
209+
that exact section including its heading
210+
- when the complete source section exceeds either limit, the renderer keeps the exact
211+
grouped editorial notes through the line before
212+
`### Complete contribution record`, then emits that heading with a stable
213+
link to the full contribution record in the tag-pinned `CHANGELOG.md`.
214+
Never truncate a bullet or partial record, and never hand-author a different
215+
compact form
216+
- append `### Release verification` only when it fits after the canonical full
217+
or compact body is chosen. If it does not fit, omit the body tail and retain
218+
the immutable attached release evidence; never compact a fitting full
219+
contribution record just to preserve the optional tail
220+
- `pnpm release:candidate` performs this deterministic render check from the
221+
exact tag before it dispatches Full Release Validation, including when local
222+
generated checks are explicitly skipped
192223
- `git diff --check`
193224
- for docs/changelog-only changes, no broad tests are required
194225
- commit with `scripts/committer "docs(changelog): refresh YYYY.M.PATCH notes" CHANGELOG.md`

0 commit comments

Comments
 (0)