@osovv/vv-opencode 1.1.5 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## <small>1.1.6 (2026-07-17)</small>
2
+
3
+ ### Summary
4
+
5
+ This release hardens the release automation pipeline by fixing tag identity configuration in CI and moving tag and GitHub Release finalization to the authenticated local process after successful npm publication. Previously, the CI workflow attempted to create release tags using the GITHUB_TOKEN, which cannot tag commits containing workflow changes; now the local release wrapper waits for CI to publish the package, retries npm metadata propagation to verify the published gitHead matches the exact release commit, and only then creates the annotated tag and GitHub Release using the maintainer's authenticated git and gh clients. This ensures verification-before-tagging while avoiding GitHub App token restrictions, and uses bounded retries with exponential backoff to handle delayed npm metadata propagation.
6
+
7
+ * fix(release): configure CI tag identity ([cae54af](https://github.com/osovv/vv-opencode/commit/cae54af))
8
+ * fix(release): finalize tags after CI publication ([707170e](https://github.com/osovv/vv-opencode/commit/707170e))
9
+
1
10
  ## <small>1.1.5 (2026-07-16)</small>
2
11
 
3
12
  ### Summary
package/README.md CHANGED
@@ -486,22 +486,28 @@ This will:
486
486
  7. Create a release commit without creating a tag
487
487
  8. Push only the current branch to `origin`
488
488
  9. Dispatch `publish.yml` through `gh` with the exact package version and release commit SHA
489
+ 10. Wait for the dispatched CI run to finish successfully
490
+ 11. Retry npm metadata propagation, then verify that npm reports the exact release commit as the published `gitHead`
491
+ 12. Create and push the annotated tag locally, then create the GitHub Release through `gh`
489
492
 
490
493
  Required local release prerequisite:
491
494
  - `opencode` must be available from `PATH`.
492
- - `gh` must be installed and authenticated with permission to dispatch workflows in the repository.
495
+ - `gh` must be installed and authenticated with permission to dispatch/watch workflows and create releases in the repository.
496
+ - `gh run watch` does not support fine-grained PAT authentication; use a supported `gh` login such as OAuth or a classic token.
493
497
  - The summary model defaults to `deepseek/deepseek-v4-flash`.
494
498
  - Override with `VVOC_RELEASE_SUMMARY_MODEL=provider/model`.
495
499
  - Override the per-attempt timeout with `VVOC_RELEASE_SUMMARY_TIMEOUT_MS=120000`.
496
- Run `release:bump` from a checked-out branch with push access to `origin`. A normal branch push never publishes by itself; the wrapper explicitly dispatches the workflow for the exact pushed commit.
500
+ Run `release:bump` from a checked-out branch with branch and tag push access to `origin`. A normal branch push never publishes by itself; the wrapper explicitly dispatches the workflow for the exact pushed commit.
497
501
 
498
502
  The GitHub Actions workflow checks out the requested commit SHA, verifies that its
499
503
  `package.json` version matches the dispatch input, and runs full validation
500
504
  (typecheck, lint, fmt check, tests, build, pack check, and `release:check`). Only
501
- after every gate passes does it publish to npm with provenance, create and push the
502
- annotated `vX.Y.Z` tag, and create the GitHub Release. A safe rerun accepts an
503
- already-published version only when its npm `gitHead` matches the exact requested
504
- commit, allowing tag or GitHub Release recovery without publishing different bytes.
505
+ after every gate passes does it publish to npm with provenance. The local wrapper
506
+ waits for that CI result, retries registry metadata propagation, verifies npm
507
+ `gitHead`, and only then uses the maintainer's authenticated `git` and `gh` clients
508
+ to create the annotated `vX.Y.Z` tag and GitHub Release. This avoids GitHub App
509
+ token restrictions on tagging commits that contain workflow changes while preserving
510
+ verification-before-tagging.
505
511
 
506
512
  ### Checking consistency manually
507
513
 
@@ -514,7 +520,7 @@ config format version are all consistent. Run it independently anytime.
514
520
 
515
521
  ### CI publish workflow
516
522
 
517
- The workflow uses npm provenance/trusted publishing (`id-token: write`) and can only publish through an explicit `workflow_dispatch` request. Normal branch and tag pushes do not publish. Configure npm trusted publishing for this GitHub repository/package, or adapt the publish step to use an `NPM_TOKEN` secret if token-based publishing is required.
523
+ The workflow uses npm provenance/trusted publishing (`id-token: write`) and read-only repository contents access. It can only publish through an explicit `workflow_dispatch` request; normal branch and tag pushes do not publish. Tag and GitHub Release creation happen locally only after the workflow succeeds. Configure npm trusted publishing for this GitHub repository/package, or adapt the publish step to use an `NPM_TOKEN` secret if token-based publishing is required.
518
524
 
519
525
  ---
520
526
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osovv/vv-opencode",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
4
4
  "description": "A curated, opinionated set of OpenCode plugins for spec-first, review-driven, safer agentic development.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@1.1.5/schemas/vvoc/v3.json",
3
+ "$id": "https://cdn.jsdelivr.net/npm/@osovv/vv-opencode@1.1.6/schemas/vvoc/v3.json",
4
4
  "title": "vvoc config",
5
5
  "description": "Canonical vvoc configuration document.",
6
6
  "type": "object",