@link-assistant/hive-mind 0.48.1 → 0.48.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,10 +1,45 @@
1
1
  # @link-assistant/hive-mind
2
2
 
3
+ ## 0.48.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Test patch release
8
+
3
9
  ## 0.48.1
4
10
 
5
11
  ### Patch Changes
6
12
 
7
- - 04e8375: Fix package-lock.json sync in changeset version bump flow
13
+ - 279642e: Comprehensive release and validation fixes
14
+
15
+ This release includes multiple critical fixes that work together to ensure reliable releases and prevent unvalidated code from merging:
16
+
17
+ **1. Fix workflow conditions to prevent unvalidated code from merging (#958)**
18
+
19
+ Updated lint job conditions in release.yml to check all file types that Prettier formats (.mjs, .md, .json, .js), not just .mjs files. This ensures the lint check runs consistently for both pull requests and main branch, preventing formatting issues from bypassing validation. Previously, PRs changing only .md or .json files would skip lint checks, allowing unformatted code to merge and cause main branch CI failures.
20
+
21
+ Documentation added:
22
+ - Case study analysis (docs/case-studies/issue-958/ANALYSIS.md) with root cause analysis and timeline reconstruction
23
+ - Branch protection policy guide (docs/BRANCH_PROTECTION_POLICY.md) with required status checks specification and configuration instructions
24
+
25
+ **2. Fix perlbrew bashrc unbound variable error at perl version check (#954)**
26
+
27
+ Resolves an issue where running `perl --version` during installation would trigger an "unbound variable" error from perlbrew's bashrc file at line 71. The error occurred because:
28
+ - The version check command triggered .bashrc sourcing in a subshell
29
+ - Perlbrew's bashrc referenced positional parameter $1 without guards
30
+ - With `set -u` enabled, unbound variables cause errors
31
+
32
+ Solution:
33
+ - Only load perlbrew in interactive shells (PS1 check in .bashrc)
34
+ - Temporarily disable `set -u` when sourcing perlbrew bashrc in the install script
35
+ - Re-enable strict mode immediately after sourcing
36
+ - Added comprehensive test script (experiments/test-perlbrew-fix.sh)
37
+
38
+ **3. Enhance README.md initialization for empty repositories (#706)**
39
+
40
+ Enhanced the existing empty repository handling to include repository description in the auto-generated README.md file. When the solve command encounters an empty repository that cannot be forked, it now creates a more descriptive README with both the repository title and description (if available).
41
+
42
+ **4. Fix package-lock.json sync in changeset version bump flow**
8
43
  - Add `npm install --package-lock-only` after `npm run changeset:version` in version-and-commit.mjs
9
44
  - Ensures package-lock.json stays in sync with package.json during changeset-based releases
10
45
  - Fixes issue where version bumps only updated package.json
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@link-assistant/hive-mind",
3
- "version": "0.48.1",
3
+ "version": "0.48.2",
4
4
  "description": "AI-powered issue solver and hive mind for collaborative problem solving",
5
5
  "main": "src/hive.mjs",
6
6
  "type": "module",
@@ -154,8 +154,23 @@ const tryInitializeEmptyRepository = async (owner, repo) => {
154
154
 
155
155
  await log(`${formatAligned('', '', 'Creating a simple README.md to make repository forkable')}`);
156
156
 
157
- // Create simple README content with just the repository name
158
- const readmeContent = `# ${repo}\n`;
157
+ // Get repository description to include in README
158
+ const repoInfoResult = await $`gh api repos/${owner}/${repo} --jq '{description: .description}'`;
159
+ let description = '';
160
+ if (repoInfoResult.code === 0) {
161
+ try {
162
+ const repoInfo = JSON.parse(repoInfoResult.stdout.toString().trim());
163
+ description = repoInfo.description || '';
164
+ } catch {
165
+ // If parsing fails, continue with empty description
166
+ }
167
+ }
168
+
169
+ // Create README content with repository name and description (if available)
170
+ let readmeContent = `# ${repo}\n`;
171
+ if (description) {
172
+ readmeContent += `\n${description}\n`;
173
+ }
159
174
  const base64Content = Buffer.from(readmeContent).toString('base64');
160
175
 
161
176
  // Try to create README.md using GitHub API