Skip to content

chore: remove ~118MB build artifacts from git#44

Merged
carlos-alm merged 2 commits intomainfrom
fix/claude-workflow-review
Feb 23, 2026
Merged

chore: remove ~118MB build artifacts from git#44
carlos-alm merged 2 commits intomainfrom
fix/claude-workflow-review

Conversation

@carlos-alm
Copy link
Contributor

Summary

  • Remove artifacts/ and pkg/ directories from git tracking (~118MB of native .node binaries)
  • Add both to .gitignore

These directories are created by the publish workflow during CI (download-artifact → pkg assembly → npm publish). They were accidentally committed to the repo.

artifacts/ and pkg/ are created by the publish workflow during CI.
They were accidentally committed — ~118MB of native .node binaries.
@claude
Copy link

claude bot commented Feb 23, 2026

Claude finished @carlos-alm's task —— View job


PR Review Complete

Root Cause Analysis

Problem Being Solved: The publish CI workflow (publish.yml:178-181, publish.yml:218-219) downloads build artifacts to artifacts/ and assembles platform packages in pkg/, but these ~118MB directories containing native .node binaries were accidentally committed to git instead of being treated as temporary CI artifacts.

Why This Approach: The solution is correct and minimal — removing the committed artifacts and gitignoring both directories prevents future accidental commits. The workflow will recreate these directories during each publish run, so no functionality is lost.

Risk Assessment: LOW RISK — This is purely a repository hygiene fix with no impact on functionality, build process, or user experience.

Critical Concerns

None. This is a straightforward cleanup with proper prevention measures.

Detailed Review

✅ Changes Analysis

  1. .gitignore:7-8: Added artifacts/ and pkg/ directories — perfectly aligned with their usage in publish.yml:178-181 (download artifacts) and publish.yml:218-219 (create platform packages)
  2. File deletions: All 12 deleted files are legitimate CI artifacts that should never have been committed:
    • 8 native .node binaries (~15MB each)
    • 4 temporary package.json files for platform packages

✅ Process Validation

  • Workflow recreates both directories on every publish run (lines 178-181, 218-236 in publish.yml)
  • No build scripts or runtime code references these directories
  • Platform packages are published from temporary pkg/ structure, not persistent files

✅ Configuration Safety

  • No risky configuration changes — only .gitignore additions
  • No disabled linting rules, relaxed timeouts, or weakened tests
  • No module resolution or build configuration changes

✅ Repository Impact

  • Immediate: 118MB reduction in repo size
  • Future: Prevents accidental re-commit of CI artifacts
  • Zero functional impact: Native binaries are distributed via npm platform packages (@optave/codegraph-{platform}-{arch} in package.json:64-67)

Final Recommendation

  • Rating: ⭐⭐⭐⭐☆ (4/5)
  • Action: APPROVE
  • Reasoning: Clean, targeted fix that addresses the exact problem with appropriate prevention. Well-documented commit message explains the context. No functional or security risks. Only minor deduction for the original accident requiring this cleanup.

This PR exemplifies good repository hygiene — it fixes an accident, prevents recurrence, and makes no unnecessary changes.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Feb 23, 2026

Greptile Summary

Removed ~118MB of build artifacts (artifacts/ and pkg/ directories containing native .node binaries) from git tracking and added both directories to .gitignore. These directories are dynamically generated during the CI publish workflow (lines 178-246 in publish.yml) and should never have been committed to the repository.

Confidence Score: 5/5

  • Safe to merge — removes accidentally committed build artifacts and prevents future commits
  • This is a straightforward cleanup that removes CI-generated build artifacts (~118MB of native binaries) that were accidentally committed. The .gitignore additions ensure these won't be committed again. The workflow at .github/workflows/publish.yml lines 178-246 shows these directories are created fresh during each publish run, so removing them from git has no negative impact.
  • No files require special attention

Important Files Changed

Filename Overview
.gitignore Added artifacts/ and pkg/ to gitignore to prevent build artifacts from being tracked

Last reviewed commit: db17f98

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

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

13 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

…mination

The publish workflow was creating artifacts/ and pkg/ inside the repo
working directory. Move both to $RUNNER_TEMP so build artifacts never
exist in the git tree, preventing accidental commits.
@claude
Copy link

claude bot commented Feb 23, 2026

Claude finished @carlos-alm's task —— View job


PR Review Complete

Todo List

  • Phase 1: Root Cause Analysis
  • Phase 2: Configuration Change Detection
  • Phase 3: Test Integrity Check
  • Phase 4: Code Quality Assessment
  • Final Assessment and Rating

Phase 1: Root Cause Analysis ✅

Problem Being Solved: The publish CI workflow was downloading build artifacts to artifacts/ (line 181) and creating platform packages in pkg/ (line 213), but these ~118MB directories containing native .node binaries were accidentally committed to git instead of being treated as temporary CI artifacts.

Root Cause: The workflow originally downloaded artifacts to the repository root (artifacts/) and built packages in pkg/. These directories should have been in .gitignore from the start, but weren't. The fix properly moves them to ${{ runner.temp }}/ to prevent future accidents.

Why This Approach: The solution is correct and comprehensive:

  • Removes the accidentally committed artifacts (~118MB cleanup)
  • Updates workflow to use temp directories (${{ runner.temp }}/artifacts/ and ${{ runner.temp }}/pkg/)
  • Adds .gitignore entries as defense-in-depth

Risk Assessment: VERY LOW RISK — This is purely repository hygiene with no functional impact.

Phase 2: Configuration Change Detection ✅

NO RISKY CONFIGURATION CHANGES DETECTED:

  • Linting rules: biome.json:12-15 unchanged — still uses "recommended": true
  • Test configuration: vitest.config.js:6 unchanged — timeout remains 30s, no coverage thresholds
  • Build configuration: No module resolution or TypeScript config changes
  • Workflow improvement: Publish workflow correctly moves artifacts to temp directories

Phase 3: Test Integrity Check ✅

NO TEST INTEGRITY CONCERNS:

  • No test files modified — only .gitignore and publish workflow changed
  • No test expectations lowered — no changes to assertions or validation logic
  • No disabled rules — no eslint-disable or workaround comments
  • Clean scope: Only 2 modified files, 12 deleted artifact files

Commit History Context: Recent commits show legitimate fixes (fix(ci), fix/call-resolution-accuracy) with no pattern of configuration shortcuts.

Phase 4: Code Quality Assessment ✅

WORKFLOW CHANGES ANALYSIS:

  • Lines 181, 213: Correctly moves artifact handling from repo root to ${{ runner.temp }}/
  • Lines 212-213: Introduces proper variable scoping (ARTIFACTS, PKG_DIR)
  • Lines 222-223, 239: Updates all file paths to use temp directories consistently
  • Security: No command injection risks — proper variable quoting maintained
  • Idempotency: Preserves existing version check logic (lines 242-245)

GITIGNORE VALIDATION:

  • Lines 7-8: Added artifacts/ and pkg/ — correctly prevents future accidents
  • Alignment: Matches exact directory names used in workflow

VERIFICATION:

  • ✅ Both artifacts/ and pkg/ directories properly removed from filesystem
  • ✅ ~118MB of native binaries successfully cleaned from git history
  • ✅ Platform packages will be recreated in temp dirs during next CI run

Critical Concerns

NONE. This is exemplary repository hygiene — fixes an accident, prevents recurrence, makes no unnecessary changes.

Final Recommendation

  • Rating: ⭐⭐⭐⭐☆ (4/5)
  • Action: APPROVE
  • Reasoning: Clean, targeted fix with proper prevention measures. Well-structured 2-commit approach (remove artifacts → fix workflow). Zero functional or security risks. Only minor deduction for the original oversight requiring cleanup.

This PR demonstrates excellent engineering discipline — it addresses the exact problem, implements appropriate safeguards, and maintains full CI functionality.

@carlos-alm carlos-alm merged commit 00f091c into main Feb 23, 2026
13 of 14 checks passed
@carlos-alm carlos-alm deleted the fix/claude-workflow-review branch February 23, 2026 05:30
carlos-alm added a commit that referenced this pull request Mar 21, 2026
- GitNexus overall score corrected from 4.7 to 4.5 to match the
  arithmetic mean of its six sub-scores (5+5+4+4+4+5)/6 = 4.5
- Tier 2 renumbered starting at #38 (was duplicating #37 with Tier 1);
  also resolves the pre-existing duplicate #43 (Bikach/ChrisRoyse now
  #44/#45), with all subsequent entries incremented accordingly
- jelly section header updated from 417 to 423 stars to match the
  ranking table
carlos-alm added a commit that referenced this pull request Mar 23, 2026
…#559)

* docs: update competitive analysis for v3.2.0 and March 2026 landscape

Re-rank codegraph from #8 (4.0) to #5 (4.5) reflecting v3.2.0 features:
41 CLI commands, 32 MCP tools, dataflow across all 11 languages, CFG,
sequence diagrams, architecture boundaries, unified graph model.

Add new competitors: GitNexus (#1, 18k stars), DeusData/codebase-memory-mcp
(#6, 793 stars in 25 days). Update star counts and feature status across
all 85+ ranked projects. Mark 7 roadmap items as DONE. Flag stagnant
projects. Update joern.md (3,021 stars, 75 contributors, 4 community MCP
wrappers) and narsil-mcp.md (129 stars, SPA frontend, +36 security rules,
development paused since Feb 25).

* docs: fix narsil SPA version attribution in competitive analysis overview

Line 18 incorrectly stated "v1.6.1" as the version when the SPA feature
was introduced. The SPA frontend was added in v1.6.0; v1.6.1 is the
current release. Updated to "added v1.6.0, current v1.6.1" to match the
detailed narsil-mcp.md entry.

* docs: remove hardcoded star count from joern comparison table

The "32 stars, growing" value in the Community & maturity row hardcodes
a stale star count. Other comparison tables use "Growing" consistently
for codegraph's community status. Updated to match.

* fix: correct GitNexus score, Tier 2 rank numbering, and jelly star count

- GitNexus overall score corrected from 4.7 to 4.5 to match the
  arithmetic mean of its six sub-scores (5+5+4+4+4+5)/6 = 4.5
- Tier 2 renumbered starting at #38 (was duplicating #37 with Tier 1);
  also resolves the pre-existing duplicate #43 (Bikach/ChrisRoyse now
  #44/#45), with all subsequent entries incremented accordingly
- jelly section header updated from 417 to 423 stars to match the
  ranking table

* fix: correct aider rank and codegraph star count per review feedback

* fix: align scoring breakdown sub-scores with overall rankings for stagnant projects

glimpse: Community 4→2 (stagnant since Jan 2026), avg now 3.83≈3.8 matching ranking.
autodev-codebase: Community 3→1 (stagnant since Jan 2026), avg now 3.33, ranking updated 3.4→3.3.

* fix: align ranking scores with sub-score averages for colbymchenry and axon

* fix: correct ranking inversion at positions #23/#24 (#559)

autodev-codebase (3.3) was ranked #23 above Claude-code-memory (3.4)
at #24. Swapped to maintain descending score order.

* fix: correct score mismatches for code-graph-rag (4.5→4.2) and arbor (3.7→4.2) (#559)

* fix: sync breakdown table row order with ranking table for #23/#24 (#559)

* fix: correct ranking inversions and stale rank references (#559)

* fix: correct sub-score/overall-score mismatches for codexray, loregrep, MATE

* fix: correct score mismatches and aider header rank

* fix: update narsil-mcp Key Metrics to reflect development stagnation (#559)

* fix: add missing "vs arbor" comparison section (#559)

* fix: remove duplicate vs-glimpse section and correct role names in vs-arbor (#559)

The duplicate vs-glimpse block (stale rank #10) was left behind when
vs-arbor was inserted. Removed it — the correct version exists at #11.
Also fixed role vocabulary in vs-arbor: bridge → adapter, added entry.
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