Skip to content

Commit 9bc72f3

Browse files
committed
docs: require upstream curation summary in oh-ship
1 parent b0a1f23 commit 9bc72f3

1 file changed

Lines changed: 28 additions & 2 deletions

File tree

.oh/skills/oh-ship/SKILL.md

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ git diff --name-status <upstream-json-commit>..upstream/main
5050

5151
If `upstream.json` does not exist, ask the user what upstream baseline to review from. Do not guess a baseline for release work.
5252

53+
Produce a high-level upstream feature summary before selecting anything. Group commits into user-meaningful themes such as provider support, CLI/TUI UX, tool/runtime changes, build/release fixes, test-only changes, and removed-subsystem work. Do not update `upstream.json` or proceed to versioning until this summary exists.
54+
5355
### 2. Classify upstream changes
5456

5557
Use upstream as a candidate list. Classify each meaningful change before incorporating it.
@@ -67,7 +69,30 @@ Use upstream as a candidate list. Classify each meaningful change before incorpo
6769
| Upstream release/versioning machinery | Leave upstream |
6870
| Product behavior irrelevant to this fork | Leave upstream |
6971

70-
Record the selected upstream commits or hunks in the release notes or commit body when useful.
72+
Record selected and rejected upstream themes in a curation summary for human verification. This is required even when selecting nothing.
73+
74+
Required curation summary format:
75+
76+
```markdown
77+
## Upstream Curation Summary
78+
79+
Reviewed range: `<upstream-json-commit>..upstream/main`
80+
Reviewed upstream commit: `<sha>`
81+
82+
### High-level upstream themes
83+
- [Theme]: [what upstream shipped at a user/system level]
84+
85+
### Selected for this fork
86+
- [Theme or commit]: [why it improves this fork, how it will be incorporated]
87+
88+
### Excluded from this fork
89+
- [Theme or commit]: [why it is irrelevant, incompatible, low-value, or coupled to removed subsystems]
90+
91+
### Needs human verification
92+
- [Judgment call or unclear upstream theme requiring maintainer confirmation]
93+
```
94+
95+
If the selected list is empty, explicitly say `Selected: none` and explain why every high-level upstream theme was excluded. A shallow log/stat dump is not a review.
7196

7297
### 3. Incorporate selected changes
7398

@@ -123,7 +148,7 @@ If the failure indicates a deeper behavior break or architecture conflict, stop
123148

124149
### 6. Update upstream review marker
125150

126-
After reviewing upstream, update `upstream.json` to the upstream commit reviewed, regardless of how many changes were incorporated.
151+
After completing the upstream curation summary and human verification checkpoint, update `upstream.json` to the upstream commit reviewed, regardless of how many changes were incorporated.
127152

128153
This records review lineage, not wholesale code synchronization.
129154

@@ -225,5 +250,6 @@ After pushing:
225250
- NEVER publish to npm manually -- CI handles it
226251
- NEVER use wholesale upstream merge to update the fork
227252
- If `bun check` fails after selected upstream changes, do NOT proceed with the release
253+
- NEVER update `upstream.json` without a high-level upstream curation summary that includes selected and excluded themes with rationale for human verification
228254
- The npm scope is `@oh-labs`, packages are `@oh-labs/oh-omp`, `@oh-labs/oh-omp-darwin-arm64`, `@oh-labs/oh-omp-linux-x64`
229255
- The upstream release script (`scripts/release.ts`) is NOT used for fork releases -- it operates on upstream's version scheme

0 commit comments

Comments
 (0)