Skip to content

Consume storyproof as a git dependency (experiment) - #256

Draft
leon0399 wants to merge 2 commits into
masterfrom
try/storyproof-git-dep
Draft

Consume storyproof as a git dependency (experiment)#256
leon0399 wants to merge 2 commits into
masterfrom
try/storyproof-git-dep

Conversation

@leon0399

@leon0399 leon0399 commented Jul 30, 2026

Copy link
Copy Markdown
Owner

Replaces the broken storyproof@0.0.1-alpha.1 registry placeholder in apps/storybook with a git-hosted dependency on leon0399/storyproof #main (path:packages/storyproof).

Why this works

pnpm packs git-hosted dependencies, which runs the package's prepack (tsdown build) — so the install ships a real dist/ built from source, unlike the alpha tarball. Verified end to end from this branch:

  • installed bundle is genuinely current storyproof main (contains this week's panel features)
  • booted this repo's Storybook and ran the full visual suite through the git-installed package: 246 stories captured (196 new, 50 disabled-passed) under linux-chromium-1280x720@1x

The caveat that keeps this an experiment

pnpm approves git-hosted build scripts only by exact resolved spec (codeload URL + commit sha) in allowBuilds — bare name, git+https repo URL, and codeload base URL were all tested and none matched, despite pnpm's docs claiming repo-URL form approves any commit. Consequence: every storyproof main commit invalidates the allowlist entry and needs re-approval. Pinning the dependency to a sha makes it stable (and reproducible); tracking main makes it a recurring chore.

Replace with a registry version once a working storyproof release is published past the cooldown — the minimumReleaseAge exclusion for it already exists in pnpm-workspace.yaml.

Summary by CodeRabbit

  • Chores
    • Updated the Storybook setup to use the latest Storyproof package from its main development branch.
    • Enabled the required build process for the package during installation to ensure it works correctly when installed from the repository.

Replace the broken 0.0.1-alpha.1 registry placeholder with a git-hosted
dependency on github.com/leon0399/storyproof#main (path:packages/storyproof).
pnpm packs git-hosted deps, which runs the package's prepack (tsdown
build), so the install ships a real dist/ built from source — verified by
booting Storybook and running the full visual suite: 246 stories captured
(196 new, 50 disabled-passed) under linux-chromium-1280x720@1x.

Caveat that keeps this an experiment: pnpm approves git-hosted build
scripts only by exact resolved spec (codeload URL + commit sha), so the
allowBuilds entry must be re-approved on every storyproof main commit —
neither the name, the git+https repo URL, nor the codeload base URL
matched. Replace with a registry version once one is published past the
cooldown.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@gemini-code-assist

Copy link
Copy Markdown

Caution

The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased.

@vercel

vercel Bot commented Jul 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
llame-storybook Ready Ready Preview Jul 30, 2026 8:03am

@mesa-dot-dev

mesa-dot-dev Bot commented Jul 30, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@coderabbitai

coderabbitai Bot commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@leon0399, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 33 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5c80c5b2-7c44-499f-8190-ee1331046ca4

📥 Commits

Reviewing files that changed from the base of the PR and between bb848be and 0bf7068.

📒 Files selected for processing (1)
  • pnpm-workspace.yaml
📝 Walkthrough

Walkthrough

Storybook now uses the storyproof package from its Git repository, while pnpm explicitly permits the package’s required build during installation.

Changes

Storyproof dependency integration

Layer / File(s) Summary
Git dependency and build approval
apps/storybook/package.json, pnpm-workspace.yaml
Storybook references the main branch package at packages/storyproof, and pnpm allows the matching git-hosted package to run its prepack build.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

  • leon0399/llame#122: Updates the same allowBuilds configuration for pnpm install-script approval.
  • leon0399/llame#252: Updates the Storybook addon integration and package identifiers for storyproof.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly reflects the main change: switching storyproof to a git dependency, with the experiment caveat matching the PR scope.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Fix failing CI checks
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch try/storyproof-git-dep

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot 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.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@pnpm-workspace.yaml`:
- Around line 89-92: Update the comment above the storyproof allowBuilds entry
to state that it is pinned to a specific commit SHA and that changes resolving
to a different codeload URL require renewed approval; do not claim that branch
updates are covered automatically.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 9715e8e2-2ae8-4a88-8b4a-5d4d0675036a

📥 Commits

Reviewing files that changed from the base of the PR and between ec99ecb and bb848be.

⛔ Files ignored due to path filters (1)
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (2)
  • apps/storybook/package.json
  • pnpm-workspace.yaml

Comment thread pnpm-workspace.yaml
Comment on lines +89 to +92
# Git-hosted packages are approved by repository URL, not name; this form
# covers every commit from the repo, so branch updates don't need
# re-approval.
"storyproof@https://codeload.github.com/leon0399/storyproof/tar.gz/95615e78bf6bdaca98b2fd5ba5b06d4377ee1319#path:packages/storyproof": true

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.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Correct the re-approval comment.

This allowBuilds entry is pinned to commit 95615e78bf6bdaca98b2fd5ba5b06d4377ee1319, so a new main commit will resolve to a different codeload URL and require a new approval. Update the comment to describe the SHA-specific behavior; otherwise maintainers may expect branch updates to install without changing allowBuilds.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@pnpm-workspace.yaml` around lines 89 - 92, Update the comment above the
storyproof allowBuilds entry to state that it is pinned to a specific commit SHA
and that changes resolving to a different codeload URL require renewed approval;
do not claim that branch updates are covered automatically.

@chatgpt-codex-connector chatgpt-codex-connector Bot 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: bb848beaf4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread pnpm-workspace.yaml
# Git-hosted packages are approved by repository URL, not name; this form
# covers every commit from the repo, so branch updates don't need
# re-approval.
"storyproof@https://codeload.github.com/leon0399/storyproof/tar.gz/95615e78bf6bdaca98b2fd5ba5b06d4377ee1319#path:packages/storyproof": true

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.

P2 Badge Reapprove each resolved storyproof commit

When main advances and the lockfile is refreshed, pnpm identifies this git build by the newly resolved codeload URL and commit SHA, but this allowlist key hardcodes 95615e…. The new package will therefore have its required prepack blocked and, because dist/ is gitignored, Storybook will receive an unusable package. The adjacent claim that branch updates need no reapproval is the opposite of the exact-SHA behavior; either pin the dependency to this SHA or update the approval whenever it resolves to another commit.

Useful? React with 👍 / 👎.

},
"dependencies": {
"storyproof": "0.0.1-alpha.1",
"storyproof": "git+https://github.com/leon0399/storyproof.git#main&path:packages/storyproof",

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.

P2 Badge Record the dependency-source change in the changelog

This switches the shipped dependency from the published npm placeholder to the git-hosted main branch, while the newest relevant CHANGELOG.md entry still explicitly says llame consumes the published storyproof package pinned to 0.0.1-alpha.1. Add a dated entry so the shipped chronology does not describe the opposite dependency source; repository policy requires even chores to update the changelog in the same PR.

AGENTS.md reference: AGENTS.md:L94-L96

Useful? React with 👍 / 👎.

@mesa-dot-dev

mesa-dot-dev Bot commented Jul 30, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Replaces the broken storyproof registry placeholder in apps/storybook with a git-hosted dependency pointing to the main branch of leon0399/storyproof, allowing actual source builds via pnpm during installation.

What changed?

  • apps/storybook/package.json: Replaced the storyproof@0.0.1-alpha.1 version-based dependency with a git dependency pointing directly to leon0399/storyproof#main under the packages/storyproof subdirectory.
  • pnpm-workspace.yaml: Added the GitHub tarball URL for the storyproof git dependency to the allowBuilds list so pnpm can execute the package's build process on install.
  • pnpm-lock.yaml: Updated dependency resolutions and exact lock versions.

Description generated by Mesa. Update settings

… document why this cannot merge

A cold install from the lockfile gates (and prepares) the fetched repo's
ROOT manifest, not the subdirectory package. Approving it lets install
exit 0 — but what lands in node_modules/storyproof is the repository
root (storyproof-monorepo), not the packed packages/storyproof: pnpm's
install-from-lockfile path ignores the '&path:' qualifier. Reproduced
with fresh stores on pnpm 10.34.4 and 11.16.0 (the 11.7 fix kept the
path in the lockfile but not in this fetch path); only pnpm 10's warm
full-resolution install produced the correct package. git+path:
dependencies therefore cannot pass this repo's frozen-lockfile CI, and
this PR stays a documented negative result until a working storyproof
version is on the registry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@leon0399
leon0399 marked this pull request as draft July 30, 2026 08:03
@leon0399

Copy link
Copy Markdown
Owner Author

Verdict: negative result — do not merge. The git-based dependency mechanism works in principle (pnpm packs the git dep, prepack runs the tsdown build, and the resulting package drove this repo's full 246-story visual suite locally), but pnpm's subdirectory git deps are broken on the install path CI uses:

  • A cold install from the lockfile ignores the &path:packages/storyproof qualifier: it gates/prepares the fetched repo's root manifest and installs the repository root (storyproof-monorepo) into node_modules/storyproof. storyproof/preset then cannot resolve.
  • Reproduced with fresh stores on pnpm 10.34.4 and 11.16.0 (the 11.7 fix kept the path in the lockfile, but this fetch path still drops it). Only pnpm 10's warm full-resolution install (the one that wrote the lockfile) produced the correct subdir package — which is why it "worked on my machine" and failed on every CI job.
  • Second sharp edge, also documented in-branch: allowBuilds matches git-hosted packages by exact sha-pinned resolved spec only, and the cold path gates a different manifest name than the warm path.

Branch stays as a minimal repro (worth filing upstream against pnpm). The path forward for this repo is unchanged: a working storyproof release on the npm registry — the minimumReleaseAge exclusion for it already exists.

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.

1 participant