Skip to content

chore(release): add 3.9.4 release manifest#1758

Open
himerus wants to merge 1 commit into
mainfrom
release-manifest/3.9.4-26462466389-1
Open

chore(release): add 3.9.4 release manifest#1758
himerus wants to merge 1 commit into
mainfrom
release-manifest/3.9.4-26462466389-1

Conversation

@himerus

@himerus himerus commented May 26, 2026

Copy link
Copy Markdown
Contributor

Post-publish manifest for 3.9.4. Auto-opened by the publish workflow after npm publish succeeded. Documentation only — safe to auto-merge.

Summary by CodeRabbit

  • Chores
    • Released version 3.9.4 of @helixui/library and associated packages, including icons v1.0.4, with updated CDN budget snapshots and release metadata documentation.

Review Change Stack

@himerus himerus enabled auto-merge May 26, 2026 16:55
@coderabbitai

coderabbitai Bot commented May 26, 2026

Copy link
Copy Markdown

Walkthrough

This PR adds a release manifest file (docs/releases/3.9.4-manifest.json) that records the publication metadata for @helixui/library@3.9.4, including commit SHA, version tags, published package versions, merged PRs, content hash, and CDN bundle size budget snapshot data.

Changes

3.9.4 Release Documentation

Layer / File(s) Summary
3.9.4 Release manifest
docs/releases/3.9.4-manifest.json
Manifest JSON documents @helixui/library@3.9.4 publish event with version metadata, commit provenance, package inventory, merged PR history, and CDN budget tracking for each artifact.

Possibly related PRs

  • bookedsolidtech/helix#1757: This PR records the release manifest for the version packages metadata produced by the version/publish changes in #1757.
  • bookedsolidtech/helix#1667: Related release manifest addition for an earlier @helixui/library version following the same metadata and CDN budget snapshot pattern.
  • bookedsolidtech/helix#1564: Related release manifest file recording publish metadata for a different @helixui/library version with similar CDN budget snapshot structure.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 inconclusive)

Check name Status Explanation Resolution
Description check ❓ Inconclusive The description is minimal but appropriate for an auto-generated manifest file. However, it lacks the structured format specified in the repository template. Consider adding sections from the template (Type of Change, Changes Made, Quality Checklist) to improve consistency, though the auto-generated nature may justify a simplified approach.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately and concisely describes the main change: adding a release manifest for version 3.9.4.
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.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release-manifest/3.9.4-26462466389-1

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 and usage tips.

@github-actions

Copy link
Copy Markdown
Contributor

CEM API Diff

No public API changes detected.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

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 `@docs/releases/3.9.4-manifest.json`:
- Around line 74-80: The aggregate for strategyATotal.currentBytes is
inconsistent with the components: recompute strategyATotal.currentBytes as
fullBundleJs.currentBytes (254157) + fullBundleCss.currentBytes (61286) = 315443
(or, if the intended definition differs, adjust fullBundleJs.currentBytes or
fullBundleCss.currentBytes accordingly) and update the corresponding budgets
entry in the other CDN budget file so both the aggregate
(strategyATotal.currentBytes) and the component values
(fullBundleJs.currentBytes, fullBundleCss.currentBytes) are consistent.
🪄 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: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 1e5f436e-d40c-4869-8192-ec1fb112062f

📥 Commits

Reviewing files that changed from the base of the PR and between b6ef0c1 and 538fbb6.

📒 Files selected for processing (1)
  • docs/releases/3.9.4-manifest.json

Comment on lines +74 to +80
"strategyATotal": {
"description": "Aggregate Strategy A consumer payload (full JS + full CSS). This is what a page that loads the full bundle actually downloads.",
"ceilingBytes": 332800,
"warnBytes": 322560,
"currentBytes": 312832,
"currentNote": "305.5 KB gz at AAA Tier 3 epic head (was 291.1 KB at ARIA epic head; tracks fullBundleJs + fullBundleCss growth from 3.8.0 cert work)."
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Check if .cdn-budget.json has the same mathematical inconsistency

cat .cdn-budget.json | jq '{
  fullBundleJs: .budgets.fullBundleJs.currentBytes,
  fullBundleCss: .budgets.fullBundleCss.currentBytes,
  strategyATotal: .budgets.strategyATotal.currentBytes,
  calculated_sum: (.budgets.fullBundleJs.currentBytes + .budgets.fullBundleCss.currentBytes),
  discrepancy: ((.budgets.fullBundleJs.currentBytes + .budgets.fullBundleCss.currentBytes) - .budgets.strategyATotal.currentBytes)
}'

Repository: bookedsolidtech/helix

Length of output: 199


🏁 Script executed:

#!/bin/bash
# Inspect .cdn-budget.json budgeting fields related to strategyATotal
set -euo pipefail

jq '
  {
    budgets: .budgets,
    strategyATotal_notes: (.budgets.strategyATotal // {}),
    strategyATotal_all_keys: (keys_unsorted(.budgets.strategyATotal // {})),
    available_components_under_budgets: (keys_unsorted(.budgets))
  }
' .cdn-budget.json

Repository: bookedsolidtech/helix

Length of output: 432


🏁 Script executed:

#!/bin/bash
set -euo pipefail

jq '
{
  strategyATotal: .budgets.strategyATotal,
  fullBundleJs: .budgets.fullBundleJs,
  fullBundleCss: .budgets.fullBundleCss,
  strategyATotal_currentBytes: .budgets.strategyATotal.currentBytes,
  fullBundleSum: (.budgets.fullBundleJs.currentBytes + .budgets.fullBundleCss.currentBytes),
  discrepancy: ((.budgets.fullBundleJs.currentBytes + .budgets.fullBundleCss.currentBytes) - .budgets.strategyATotal.currentBytes),
  all_budget_currentBytes: (
    .budgets
    | to_entries
    | map(
        {
          key: .key,
          currentBytes: (.value.currentBytes // null)
        }
      )
    | map(select(.currentBytes != null))
    | sort_by(.currentBytes)
  )
}
' .cdn-budget.json

Repository: bookedsolidtech/helix

Length of output: 1993


🏁 Script executed:

#!/bin/bash
set -euo pipefail

jq '
  .budgets
  | to_entries
  | map({key: .key, currentBytes: (.value.currentBytes // null)})
  | sort_by(.key)
' .cdn-budget.json

Repository: bookedsolidtech/helix

Length of output: 320


Fix CDN budget aggregate math for strategyATotal

In docs/releases/3.9.4-manifest.json (lines 74-80), strategyATotal.currentBytes is 312832, but fullBundleJs.currentBytes (254157) + fullBundleCss.currentBytes (61286) equals 315443 (discrepancy 2611 bytes). The same mismatch exists in .cdn-budget.json (and there are no other budgets.* entries to account for it), so either the aggregate calculation or the “full JS + full CSS” definition needs adjustment.

🤖 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 `@docs/releases/3.9.4-manifest.json` around lines 74 - 80, The aggregate for
strategyATotal.currentBytes is inconsistent with the components: recompute
strategyATotal.currentBytes as fullBundleJs.currentBytes (254157) +
fullBundleCss.currentBytes (61286) = 315443 (or, if the intended definition
differs, adjust fullBundleJs.currentBytes or fullBundleCss.currentBytes
accordingly) and update the corresponding budgets entry in the other CDN budget
file so both the aggregate (strategyATotal.currentBytes) and the component
values (fullBundleJs.currentBytes, fullBundleCss.currentBytes) are consistent.

@github-actions

Copy link
Copy Markdown
Contributor

Bundle Size Report

Budget: 16 KB/component · 16 KB complex (hx-button, hx-color-picker, hx-combobox, hx-date-picker, hx-file-upload, hx-number-input, hx-select, hx-side-nav, hx-slider, hx-time-picker) · 200 KB total

All 81 components within budget


📦 Full report — 81 components
Component Size Status
hx-accordion 3.94 KB
hx-action-bar 3.53 KB
hx-alert 4.43 KB
hx-avatar 3.29 KB
hx-badge 3.74 KB
hx-banner 3.62 KB
hx-breadcrumb 4.29 KB
hx-button 7.52 KB
hx-button-group 2.96 KB
hx-card 5.19 KB
hx-carousel 5.03 KB
hx-checkbox 7.55 KB
hx-checkbox-group 5.68 KB
hx-clinical-status 3.68 KB
hx-code-snippet 4.1 KB
hx-color-picker 10.11 KB
hx-combobox 10.22 KB
hx-container 1.22 KB
hx-copy-button 2.91 KB
hx-counter 2.96 KB
hx-data-table 5.31 KB
hx-date-picker 10.95 KB
hx-dialog 7.43 KB
hx-divider 2.21 KB
hx-drawer 7.79 KB
hx-dropdown 5.63 KB
hx-field 3.32 KB
hx-field-label 1.68 KB
hx-file-upload 6.22 KB
hx-form 2.17 KB
hx-format-date 2.04 KB
hx-grid 1.41 KB
hx-help-text 1.81 KB
hx-icon 4.48 KB
hx-icon-button 4.16 KB
hx-image 2.44 KB
hx-link 3.11 KB
hx-list 5.4 KB
hx-menu 7.22 KB
hx-meter 4.61 KB
hx-nav 4.81 KB
hx-number-input 5.45 KB
hx-overflow-menu 5.46 KB
hx-pagination 4 KB
hx-patient-banner 3.29 KB
hx-phi-field 3.6 KB
hx-popover 5.15 KB
hx-popup 2.95 KB
hx-progress-bar 4.72 KB
hx-progress-ring 2.95 KB
hx-prose 1.25 KB
hx-radio-group 7.31 KB
hx-rating 3.78 KB
hx-select 9.36 KB
hx-side-nav 5.94 KB
hx-skeleton 1.99 KB
hx-slider 5.68 KB
hx-spinner 2.84 KB
hx-split-button 6.84 KB
hx-split-panel 3.62 KB
hx-stack 1.24 KB
hx-stat 4.23 KB
hx-status-indicator 2.54 KB
hx-steps 4.43 KB
hx-structured-list 1.89 KB
hx-style-scope 2.47 KB
hx-switch 6.38 KB
hx-table 6.78 KB
hx-tabs 6.93 KB
hx-tag 3.35 KB
hx-text 2.41 KB
hx-text-input 5.1 KB
hx-textarea 4.39 KB
hx-theme 2.75 KB
hx-time-picker 9.33 KB
hx-toast 5.92 KB
hx-toggle-button 6.13 KB
hx-tooltip 3.32 KB
hx-top-nav 3.37 KB
hx-tree-view 6.78 KB
hx-visually-hidden 1.01 KB

Total: 367.09 KB / 200 KB budget ❌

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