Skip to content

fix(ingest): serialize ingests + fix scan-all REPOS_DIR path leak#41

Merged
hyperpolymath merged 2 commits into
mainfrom
claude/fix-ingest-v2
Jun 13, 2026
Merged

fix(ingest): serialize ingests + fix scan-all REPOS_DIR path leak#41
hyperpolymath merged 2 commits into
mainfrom
claude/fix-ingest-v2

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

  • scripts/scan-all.sh: The expression /var$REPOS_DIR concatenated a literal /var prefix with the variable, producing the literal string /var$REPOS_DIR when REPOS_DIR was unset. This leaked into program_path in every scans/*.json. Fixed with a proper guard: only use REPOS_DIR when it is non-empty and points to an existing directory.
  • .github/workflows/ingest.yml: Concurrent repository_dispatch deliveries were racing on the commit+push step, causing one writer to lose. Added a concurrency group with cancel-in-progress: false to queue them instead of cancelling.

Rebased onto current main (d184b7f). Supersedes #40.

Test plan

  • scripts/scan-all.sh — no more /var$REPOS_DIR expression; proper guard
  • ingest.ymlconcurrency block queues (not cancels) concurrent ingests
  • No logic changes to the ingest step itself

🤖 Generated with Claude Code

hyperpolymath and others added 2 commits June 13, 2026 22:07
scan-all.sh: `/var$REPOS_DIR` concatenated a literal `/var` prefix,
producing `/var$REPOS_DIR` when REPOS_DIR was unset. Replace with a
proper guard: use REPOS_DIR only when it is non-empty and points to an
existing directory.

ingest.yml: concurrent repository_dispatch deliveries race on the
commit+push; one writer loses. Add a concurrency group
(cancel-in-progress: false) to queue them instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
lint-workflows check requires every workflow file to declare a top-level
permissions block. rsr-antipattern.yml was the only caller missing one.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@hyperpolymath
hyperpolymath enabled auto-merge (squash) June 13, 2026 21:08
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 74 issues detected

Severity Count
🔴 Critical 0
🟠 High 12
🟡 Medium 62
View findings
[
  {
    "reason": "No test directory or test files found",
    "type": "no_tests",
    "file": "/home/runner/work/verisimdb-data/verisimdb-data",
    "action": "flag",
    "rule_module": "honest_completion",
    "severity": "high",
    "deduction": 20
  },
  {
    "reason": "codeql.yml lists `language: javascript-typescript` but the repo has no source files in any CodeQL-scannable language. The analyze job will exit 'no source files' on every run. Switch the matrix to `actions` (which scans workflow files — every repo has those).",
    "type": "codeql_language_matrix_mismatch",
    "file": "codeql.yml",
    "action": "switch_codeql_matrix_to_actions",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "Issue in codeql.yml",
    "type": "missing_timeout_minutes",
    "file": "codeql.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dependabot-automerge.yml",
    "type": "missing_timeout_minutes",
    "file": "dependabot-automerge.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in dogfood-gate.yml",
    "type": "missing_timeout_minutes",
    "file": "dogfood-gate.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  },
  {
    "reason": "Issue in guix-nix-policy.yml",
    "type": "missing_timeout_minutes",
    "file": "guix-nix-policy.yml",
    "action": "flag",
    "rule_module": "workflow_audit",
    "severity": "medium"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath merged commit 2f2de98 into main Jun 13, 2026
27 of 30 checks passed
@hyperpolymath
hyperpolymath deleted the claude/fix-ingest-v2 branch June 13, 2026 21:15
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