Conversation
✅ PR Validation Passed
📋 Pipeline Status
🤖 Generated by @helpers4 CI • 2026-08-09 |
No groups configured at all — every update (patch, minor, or major) got its own individual PR. Groups everything into one "actions" PR per run. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
The manifest was bumped through 1.0.0 to 1.0.2 across three commits on the branch, but main ended up back at 1.0.0 after merge, with unrelated JSON formatting changes too. Restored the correct content and bumped to 1.0.1, the next version that was never actually published. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
nub wraps the existing node/package-manager setup rather than replacing it, so the plan is additive: depend on the official node feature, add an optional nub delegate to package-auto-install, confirm pnpm-store compatibility before recommending the pairing, pilot in typescript first. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…risk
The platform notes only covered what gets merged there, not whether the
mount succeeds. ${localEnv:HOME} resolves against the cloud VM, not the
user's laptop, so the same missing-source crash risk applies there —
and needs the same initializeCommand fix.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
pnpm-store's volume name used to be fixed and collided across unrelated projects on the same machine; the devcontainerId suffix scopes it per workspace instead. playwright-dev already follows this. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
A doc-only change doesn't affect what ships in the image, so it shouldn't be forced to bump. Still worth bumping when the fix needs to reach the published site, since that's gated on the version diff too. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Pushing a tag whose ref touches a workflow file needs this permission, even though the tag itself doesn't edit anything. GHCR publish had already succeeded before this step failed — only the tags and the website dispatch were lost. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Installs nub (nubjs.com) as a standalone, opt-in feature. Depends on the official node feature directly rather than nub's own node-version management, to avoid two competing version-selection mechanisms. installGlobally symlinks nub/nubx into /usr/local/bin, mirroring vite-plus. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Runs nub install when selected. Not part of auto detection — nub isn't a lockfile format, so there's no real signal to detect it from. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
….internal fix install.sh's Copilot hooks merge path had a Python syntax error — a dict literal missing its assignment — that crashed every run against an existing hooks.json. Also, host.docker.internal doesn't resolve on native Linux Docker without runArgs: ["--add-host=host.docker.internal:host-gateway"] in the consumer's devcontainer.json, which the README didn't mention. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
packs already takes a single value; the real friction is finding a name among ~165 registry packs. Pointed the README at peon packs search and openpeon.com/packs instead of adding a preset option. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…aluated python-dev: the official python feature already ships VS Code extensions and settings, so there's no gap for a wrapper to fill, and no repo here uses Python yet. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…EADMEs
Cut the self-referential verification language ('confirmed', 'verified
empirically', 'for real, not assumed') and long run-on changelog
entries. Same facts, stated plainly instead of narrated.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Started as a single CI permissions fix, grew to cover everything requested in the same pass:
Release CI fix (the original trigger — release.yml just failed):
workflows: writeto thereleasejob —git pushof a tag whose ref touches a workflow file needs it, confirmed from the actual failed run's logs (run 31324555689). GHCR publish itself had already succeeded before this step failed; only tags + website dispatch were lost. Needs a manual remediation pass after merge (create the 2 missing tags, force a re-run).New feature:
nubsrc/nub/— installs nub per the migration strategy fromROADMAP.md:dependsOnthe officialnodefeature (never nub's own node-version management),installGloballyoption mirroringvite-plus.latestand a pinned version, rannub --version, ran a JS file throughnub, confirmed thenubxsymlink dispatches correctly.package-auto-install+ nub integrationpackageManagergained anubvalue (runsnub install), deliberately excluded fromautodetection since nub isn't a lockfile format.peon-pingfixes (2 real bugs, not 1)install.sh's Copilot hooks merge path had a genuine PythonSyntaxError(a dict literal missing its assignment) — confirmed withpython3 -m py_compilebefore/after, plus a functional test.host.docker.internal:19998— wrong on native Linux Docker, verified empirically from inside a real devcontainer here (getent hosts host.docker.internalresolves nothing withoutrunArgs: ["--add-host=host.docker.internal:host-gateway"], which a Feature can't add itself).packswas already simple), added pack-discovery docs instead.python-dev— evaluated, not builtghcr.io/devcontainers/features/python:1manifest directly: it already bundles VS Code extensions + settings on top of the interpreter, unlikeangular-cli. No gap left to fill, no repo in the org uses Python yet. Documented the reasoning inROADMAP.mdinstead of building something redundant.ROADMAP.mdupdated throughout to match.Type of Change
Related Issues
None.
How Has This Been Tested?
jq empty/bash -n/ bootstrap-canonical checks on every touched/new manifest and scriptjs-yamlparse on both touched workflow filespython3 -m py_compile+ functional merge test on the fixed hooks scripthost.docker.internalDNS gap reproduced empirically from inside a real devcontainerChecklist
test/nub/test.sh; peon-ping/package-auto-install fixes are to existing scripts, covered by manual verification above)Screenshots (if applicable)
N/A.
Additional Context
After merge: remediate the failed release (2 missing git tags, force a re-run for the website dispatch).
🤖 Generated with Claude Code