Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
129 changes: 129 additions & 0 deletions .agentplane/tasks/202605011626-KJFS07/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
---
id: "202605011626-KJFS07"
title: "Add Scoop bucket publication module"
status: "DOING"
priority: "high"
owner: "CODER"
revision: 5
origin:
system: "manual"
depends_on:
- "202605011626-HXH0R5"
tags:
- "code"
- "release"
verify:
- "bun run release:distribution:check"
- "bun run workflows:command-check"
plan_approval:
state: "approved"
updated_at: "2026-05-01T16:29:32.319Z"
updated_by: "ORCHESTRATOR"
note: null
verification:
state: "ok"
updated_at: "2026-05-01T17:22:11.081Z"
updated_by: "CODER"
note: "Scoop bucket module renders agentplane.json and scoop-result.json from release-distribution.json; publish workflow uploads scoop-module artifact and contract test covers the route."
commit: null
comments:
-
author: "CODER"
body: "Start: add Scoop bucket manifest rendering and credentials-gated release workflow evidence from release-distribution.json."
events:
-
type: "status"
at: "2026-05-01T17:17:21.033Z"
author: "CODER"
from: "TODO"
to: "DOING"
note: "Start: add Scoop bucket manifest rendering and credentials-gated release workflow evidence from release-distribution.json."
-
type: "verify"
at: "2026-05-01T17:22:11.081Z"
author: "CODER"
state: "ok"
note: "Scoop bucket module renders agentplane.json and scoop-result.json from release-distribution.json; publish workflow uploads scoop-module artifact and contract test covers the route."
doc_version: 3
doc_updated_at: "2026-05-01T17:22:11.088Z"
doc_updated_by: "CODER"
description: "Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable."
sections:
Summary: |-
Add Scoop bucket publication module

Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.
Scope: |-
- In scope: Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.
- Out of scope: unrelated refactors not required for "Add Scoop bucket publication module".
Plan: "Plan: add a Scoop bucket publication module that renders agentplane.json from release-distribution.json, supports dry-run/check mode, and can open or update a bucket PR when credentials are configured. Verification: distribution check and workflow command check."
Verify Steps: |-
1. Run `bun run release:distribution:check`. Expected: it succeeds and confirms the requested outcome for this task.
2. Run `bun run workflows:command-check`. Expected: it succeeds and confirms the requested outcome for this task.
3. Review the changed artifact or behavior for the `code` task. Expected: the requested outcome is visible and matches the approved scope.
4. Compare the final result against the task summary and touched scope. Expected: remaining follow-up is either resolved or explicit in ## Findings.
Verification: |-
<!-- BEGIN VERIFICATION RESULTS -->
### 2026-05-01T17:22:11.081Z — VERIFY — ok

By: CODER

Note: Scoop bucket module renders agentplane.json and scoop-result.json from release-distribution.json; publish workflow uploads scoop-module artifact and contract test covers the route.

VerifyStepsRef: doc_version=3, doc_updated_at=2026-05-01T17:17:21.033Z, excerpt_hash=sha256:fef2300e08f7c4b9ce2fe68d00d1060c458c74174c417e3488a171d9279a6a1d

<!-- END VERIFICATION RESULTS -->
Rollback Plan: |-
- Revert task-related commit(s).
- Re-run required checks to confirm rollback safety.
Findings: |-
- Observation: Checks: bun run release:scoop:check; bun run release:distribution:check; bun run workflows:command-check; bun test packages/agentplane/src/commands/release/publish-workflow-contract.test.ts; bun run docs:scripts:check; bun run lint:core; node .agentplane/policy/check-routing.mjs; agentplane doctor; git diff --check.
Impact: Next release will expose Scoop bucket evidence in the publish job and fail less opaquely when SCOOP_BUCKET_TOKEN is missing.
Resolution: Scoop publication remains credentials-gated; missing credentials are represented as skipped_missing_credentials until the bucket token is configured.
id_source: "generated"
---
## Summary

Add Scoop bucket publication module

Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.

## Scope

- In scope: Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.
- Out of scope: unrelated refactors not required for "Add Scoop bucket publication module".

## Plan

Plan: add a Scoop bucket publication module that renders agentplane.json from release-distribution.json, supports dry-run/check mode, and can open or update a bucket PR when credentials are configured. Verification: distribution check and workflow command check.

## Verify Steps

1. Run `bun run release:distribution:check`. Expected: it succeeds and confirms the requested outcome for this task.
2. Run `bun run workflows:command-check`. Expected: it succeeds and confirms the requested outcome for this task.
3. Review the changed artifact or behavior for the `code` task. Expected: the requested outcome is visible and matches the approved scope.
4. Compare the final result against the task summary and touched scope. Expected: remaining follow-up is either resolved or explicit in ## Findings.

## Verification

<!-- BEGIN VERIFICATION RESULTS -->
### 2026-05-01T17:22:11.081Z — VERIFY — ok

By: CODER

Note: Scoop bucket module renders agentplane.json and scoop-result.json from release-distribution.json; publish workflow uploads scoop-module artifact and contract test covers the route.

VerifyStepsRef: doc_version=3, doc_updated_at=2026-05-01T17:17:21.033Z, excerpt_hash=sha256:fef2300e08f7c4b9ce2fe68d00d1060c458c74174c417e3488a171d9279a6a1d

<!-- END VERIFICATION RESULTS -->

## Rollback Plan

- Revert task-related commit(s).
- Re-run required checks to confirm rollback safety.

## Findings

- Observation: Checks: bun run release:scoop:check; bun run release:distribution:check; bun run workflows:command-check; bun test packages/agentplane/src/commands/release/publish-workflow-contract.test.ts; bun run docs:scripts:check; bun run lint:core; node .agentplane/policy/check-routing.mjs; agentplane doctor; git diff --check.
Impact: Next release will expose Scoop bucket evidence in the publish job and fail less opaquely when SCOOP_BUCKET_TOKEN is missing.
Resolution: Scoop publication remains credentials-gated; missing credentials are represented as skipped_missing_credentials until the bucket token is configured.
6 changes: 6 additions & 0 deletions .agentplane/tasks/202605011626-KJFS07/pr/diffstat.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.github/workflows/publish.yml | 14 ++
package.json | 1 +
.../release/publish-workflow-contract.test.ts | 4 +
scripts/README.md | 1 +
scripts/render-scoop-manifest.mjs | 144 +++++++++++++++++++++
5 files changed, 164 insertions(+)
38 changes: 38 additions & 0 deletions .agentplane/tasks/202605011626-KJFS07/pr/github-body.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Summary

Add Scoop bucket publication module

Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.

## Scope

- In scope: Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.
- Out of scope: unrelated refactors not required for "Add Scoop bucket publication module".

## Verification

- State: ok
- Note: Scoop bucket module renders agentplane.json and scoop-result.json from release-distribution.json; publish workflow uploads scoop-module artifact and contract test covers the route.
- Full verification checklist lives in local review.md.

## Handoff Notes

- No handoff notes recorded yet. Use `agentplane pr note ...` to append one.

<details>
<summary>Raw evidence</summary>

- Updated: 2026-05-01T17:22:17.534Z
- Branch: task/202605011626-KJFS07/scoop-bucket-publication
- Head: e88e18a18e2e

```text
.github/workflows/publish.yml | 14 ++
package.json | 1 +
.../release/publish-workflow-contract.test.ts | 4 +
scripts/README.md | 1 +
scripts/render-scoop-manifest.mjs | 144 +++++++++++++++++++++
5 files changed, 164 insertions(+)
```

</details>
1 change: 1 addition & 0 deletions .agentplane/tasks/202605011626-KJFS07/pr/github-title.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
release: Add Scoop bucket publication module (KJFS07)
14 changes: 14 additions & 0 deletions .agentplane/tasks/202605011626-KJFS07/pr/meta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"base": "main",
"branch": "task/202605011626-KJFS07/scoop-bucket-publication",
"created_at": "2026-05-01T17:17:22.181Z",
"head_sha": "e88e18a18e2ec42c4e565fc089dca75025d6afd3",
"last_verified_at": "2026-05-01T17:22:11.081Z",
"last_verified_sha": "347891e858d0028ad5187c65ffbd69b6db958c28",
"schema_version": 1,
"task_id": "202605011626-KJFS07",
"updated_at": "2026-05-01T17:22:17.534Z",
"verify": {
"status": "pass"
}
}
Empty file.
63 changes: 63 additions & 0 deletions .agentplane/tasks/202605011626-KJFS07/pr/review.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
# PR Review

Created: 2026-05-01T17:17:22.181Z
Branch: task/202605011626-KJFS07/scoop-bucket-publication

## Summary

Add Scoop bucket publication module

Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.

## Scope

- In scope: Add a release module that can update an AgentPlane Scoop manifest from the published npm tarball, checksum, and release manifest while keeping Windows publication recoverable.
- Out of scope: unrelated refactors not required for "Add Scoop bucket publication module".

## Verification

### Plan

1. Run `bun run release:distribution:check`. Expected: it succeeds and confirms the requested outcome for this task.
2. Run `bun run workflows:command-check`. Expected: it succeeds and confirms the requested outcome for this task.
3. Review the changed artifact or behavior for the `code` task. Expected: the requested outcome is visible and matches the approved scope.
4. Compare the final result against the task summary and touched scope. Expected: remaining follow-up is either resolved or explicit in ## Findings.

### Current Status

- State: ok
- Note: Scoop bucket module renders agentplane.json and scoop-result.json from release-distribution.json; publish workflow uploads scoop-module artifact and contract test covers the route.

## Risks

- Risk level: not recorded
- Breaking change: no

### Rollback

- Revert task-related commit(s).
- Re-run required checks to confirm rollback safety.

## Handoff Notes

- No handoff notes recorded yet. Use `agentplane pr note ...` to append one.

<!-- BEGIN AUTO SUMMARY -->
<details>
<summary>Raw evidence</summary>

- Updated: 2026-05-01T17:22:17.534Z
- Branch: task/202605011626-KJFS07/scoop-bucket-publication
- Head: e88e18a18e2e

```text
.github/workflows/publish.yml | 14 ++
package.json | 1 +
.../release/publish-workflow-contract.test.ts | 4 +
scripts/README.md | 1 +
scripts/render-scoop-manifest.mjs | 144 +++++++++++++++++++++
5 files changed, 164 insertions(+)
```

</details>
<!-- END AUTO SUMMARY -->
Empty file.
14 changes: 14 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -285,6 +285,13 @@ jobs:
node scripts/render-homebrew-formula.mjs \
--manifest .agentplane/.release/publish/distribution/release-distribution.json \
--out .agentplane/.release/publish/homebrew
- name: Render Scoop bucket manifest
shell: bash
run: |
set -euo pipefail
node scripts/render-scoop-manifest.mjs \
--manifest .agentplane/.release/publish/distribution/release-distribution.json \
--out .agentplane/.release/publish/scoop
- name: Write npm auth config
shell: bash
run: |
Expand Down Expand Up @@ -361,6 +368,13 @@ jobs:
name: homebrew-module
path: .agentplane/.release/publish/homebrew/
if-no-files-found: warn
- name: Upload scoop-module artifact
if: always()
uses: actions/upload-artifact@v7
with:
name: scoop-module
path: .agentplane/.release/publish/scoop/
if-no-files-found: warn
- name: Write publish-result manifest
if: always()
shell: bash
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
"release:distribution:generate": "node scripts/generate-release-distribution.mjs",
"release:distribution:check": "node scripts/generate-release-distribution.mjs --check",
"release:homebrew:check": "node scripts/render-homebrew-formula.mjs --check",
"release:scoop:check": "node scripts/render-scoop-manifest.mjs --check",
"ci:release-extras": "bun run artifacts:check && bun run task-state:check && bun run build && bun run package:tarball:check && bun run package:install-smoke && bun run docs:cli:check && bun run docs:recipes:check && GIT_AUTHOR_NAME=agentplane-ci GIT_AUTHOR_EMAIL=agentplane-ci@example.com GIT_COMMITTER_NAME=agentplane-ci@example.com GIT_COMMITTER_EMAIL=agentplane-ci@example.com node scripts/run-vitest-suite.mjs release-ci-base && bun run coverage:workflow-suite && bun run coverage:significant-suite && GIT_AUTHOR_NAME=agentplane-ci GIT_AUTHOR_EMAIL=agentplane-ci@example.com GIT_COMMITTER_NAME=agentplane-ci@example.com GIT_COMMITTER_EMAIL=agentplane-ci@example.com bun run test:release:critical",
"release:ci-check": "bun run ci:contract && bun run ci:release-extras",
"release:prepublish:fast": "bun run release:check",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ describe("publish workflow contract", () => {
expect(workflow).toContain("node scripts/generate-release-distribution.mjs");
expect(workflow).toContain("Render Homebrew tap formula");
expect(workflow).toContain("node scripts/render-homebrew-formula.mjs");
expect(workflow).toContain("Render Scoop bucket manifest");
expect(workflow).toContain("node scripts/render-scoop-manifest.mjs");
expect(workflow).toContain(
".agentplane/.release/publish/distribution/release-distribution.json",
);
Expand All @@ -44,6 +46,8 @@ describe("publish workflow contract", () => {
expect(workflow).toContain("name: release-distribution");
expect(workflow).toContain("name: homebrew-module");
expect(workflow).toContain("path: .agentplane/.release/publish/homebrew/");
expect(workflow).toContain("name: scoop-module");
expect(workflow).toContain("path: .agentplane/.release/publish/scoop/");
expect(workflow).toContain(
"--distribution-manifest .agentplane/.release/publish/distribution/release-distribution.json",
);
Expand Down
1 change: 1 addition & 0 deletions scripts/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ Grouping policy: `ci`, `release`, `docs`, `test`, `coverage`, `arch`, `bench`, `
| `release:prepublish:fast` | `bun run release:check` | Run release workflow: prepublish fast. |
| `release:prepublish:heavy` | `bun run release:ci-check` | Run release workflow: prepublish heavy. |
| `release:recover` | `node scripts/check-release-recovery-state.mjs` | Run release workflow: recover. |
| `release:scoop:check` | `node scripts/render-scoop-manifest.mjs --check` | Run release workflow: scoop check. |
| `release:smoke:published` | `node scripts/check-published-packages.mjs` | Run release workflow: smoke published. |

## Docs
Expand Down
Loading