Skip to content

docs(openspec): archive add-vale-binary-packages and land the cli pin - #91

Open
thecodedrift wants to merge 1 commit into
openspec/add-vale-binary-packages-2-releasefrom
openspec/add-vale-binary-packages-3-archive
Open

docs(openspec): archive add-vale-binary-packages and land the cli pin#91
thecodedrift wants to merge 1 commit into
openspec/add-vale-binary-packages-2-releasefrom
openspec/add-vale-binary-packages-3-archive

Conversation

@thecodedrift

@thecodedrift thecodedrift commented Aug 7, 2026

Copy link
Copy Markdown
Member

Stack (root → tip):

Unit 3 of add-vale-binary-packages, stacked on #86.

What is here today

Only the archive: openspec/changes/add-vale-binary-packages/ moves to openspec/changes/archive/2026-08-07-add-vale-binary-packages/, and its deltas are promoted into openspec/specs/ (cli, infrastructure, and a new vale-binary-packages capability).

Splitting the archive out of #86 is what makes the stack legible. #86 was the tip while still carrying an unarchived change directory, so stack: openspec-archived failed there. With this branch on top, #86 is no longer the tip and its gate skips, while this PR carries the archive and satisfies it.

What is still missing

Tasks 6.1, 6.2, 6.3 and 7.3 are unchecked, and they stay unchecked until the work lands here:

  • packages/cli gains the six @taskless/vale-* packages in optionalDependencies, pinned at literal exact stamped versions. Not workspace:*, which would silently re-point at the newest stamp, and not devDependencies, which consumers never install.
  • Verification that a supported platform resolves a binary from the CLI's module context, that an unsupported platform installs cleanly with none present, and that publishing a newer platform package leaves an unchanged CLI on its pinned version.

That pin cannot be written yet. An exact version can only name something that exists on npm, and none of the six names are published. Publishing them the first time needs a manual bootstrap, because a trusted publisher cannot be registered for a package that does not exist.

Sequence to green

  1. Merge feat(vale): add the six Vale platform packages and pinned manifest #72 (the six packages and the pinned manifest).
  2. Merge feat(vale): fetch, verify, and publish the Vale platform packages #86 (fetch, verify, stamp, and the release workflow).
  3. Bootstrap the six @taskless/vale-* names on npm by hand.
  4. Register trusted publishers for each of them on npmjs.com.
  5. Run the release workflow with phase: publish to exercise OIDC end to end and produce a real stamped version set.
  6. Write the optionalDependencies pin on this branch against those stamped versions, check off tasks 6.x and 7.3, and mark this PR ready.

Why this is a draft

Archiving the change before the CLI pin exists would record the work as finished while the piece that makes it useful to consumers is still unwritten. The draft state is the guard: it keeps this branch unmergeable until step 6 above is done. A draft still counts for stack-tip detection, so #86's gate flips regardless.

Fixes OSS-22

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Archives the add-vale-binary-packages OpenSpec change by moving its artifacts into openspec/changes/archive/2026-08-07-add-vale-binary-packages/ and promoting the change’s spec deltas into openspec/specs/ (including a new vale-binary-packages capability).

Changes:

  • Added the new vale-binary-packages capability spec describing per-platform Vale binary npm packages and their release/verification constraints.
  • Promoted new/updated requirements into existing cli and infrastructure specs to reflect Vale platform-package pinning (via optionalDependencies) and changesets exclusion for script-versioned packages.
  • Added archived change artifacts (proposal, design, tasks, and delta specs) under the dated archive directory.

Reviewed changes

Copilot reviewed 3 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
openspec/specs/vale-binary-packages/spec.md New capability spec defining requirements for Vale per-platform binary packages.
openspec/specs/infrastructure/spec.md Adds a requirement about excluding workflow-versioned packages from changesets.
openspec/specs/cli/spec.md Adds a requirement describing the CLI’s Vale platform packages as exact-version optionalDependencies.
openspec/changes/archive/2026-08-07-add-vale-binary-packages/tasks.md Archived task checklist for the change (including remaining unchecked items).
openspec/changes/archive/2026-08-07-add-vale-binary-packages/specs/vale-binary-packages/spec.md Delta spec capturing added requirements for the new capability.
openspec/changes/archive/2026-08-07-add-vale-binary-packages/specs/infrastructure/spec.md Delta spec capturing added infrastructure requirements (changesets ignore).
openspec/changes/archive/2026-08-07-add-vale-binary-packages/specs/cli/spec.md Delta spec capturing added CLI requirements (Vale optionalDependencies pin).
openspec/changes/archive/2026-08-07-add-vale-binary-packages/proposal.md Archived proposal describing scope, impact, and delivery shape.
openspec/changes/archive/2026-08-07-add-vale-binary-packages/design.md Archived design rationale and decisions for packaging/versioning/release approach.
openspec/changes/archive/2026-08-07-add-vale-binary-packages/.openspec.yaml Archive metadata for the change directory.

Comment on lines +250 to +252
## Requirements

### Requirement: Script-versioned packages are excluded from changesets
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants