Skip to content

chore(hypatia): exempt examples/SafeDOMExample.res from banned-language scanner#68

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/hypatia-ignore-rescript-example
May 26, 2026
Merged

chore(hypatia): exempt examples/SafeDOMExample.res from banned-language scanner#68
hyperpolymath merged 1 commit into
mainfrom
chore/hypatia-ignore-rescript-example

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Adds .hypatia-ignore carve-out for the existing ReScript example. Unblocks dependabot #67 (and any other unrelated PR) which currently fails on governance / Language / package anti-pattern policy due to this single pre-existing file.

Why

examples/SafeDOMExample.res is in scope for the ReScript→AffineScript migration tracked in affinescript#57. Until that conversion lands, the right move is explicit exemption so it doesn't block dependabot or other unrelated work.

Effect on #67

Once this merges, the governance / Language / package anti-pattern policy job will pass on #67's next CI run.

🤖 Generated with Claude Code

Adds a governance-bundle exemption for the existing ReScript example file.
Scheduled for ReScript→AffineScript migration in affinescript#57; flagging
it as a banned-language file until then blocks unrelated PRs (e.g.
dependabot #67).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 71 issues detected

Severity Count
🔴 Critical 7
🟠 High 29
🟡 Medium 35

⚠️ Action Required: Critical security issues found!

View findings
[
  {
    "reason": "Action hyperpolymath/standards/.github/workflows/governance-reusable.yml@main needs attention",
    "type": "unpinned_action",
    "file": "governance.yml",
    "action": "pin_sha",
    "rule_module": "workflow_audit",
    "severity": "high"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/smoke_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/contract_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/bench_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/property_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/unit_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/e2e_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "TypeScript file detected -- banned language",
    "type": "banned_language_file",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/tests/aspect_test.ts",
    "action": "flag",
    "rule_module": "cicd_rules",
    "severity": "critical"
  },
  {
    "reason": "Download-and-execute pattern (curl|wget pipe to shell) -- verify integrity before execution (3 occurrences, CWE-494)",
    "type": "shell_download_then_run",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor/setup.sh",
    "action": "flag",
    "rule_module": "code_safety",
    "severity": "high"
  },
  {
    "reason": "Nominal-only SAST in universal-chat-extractor: codeql.yml language matrix contains no language present in the repo and lacks `actions`, so CodeQL records zero results on every commit. Remediation: set the CodeQL matrix to `language: actions`.",
    "type": "StaticAnalysis",
    "file": "/home/runner/work/universal-chat-extractor/universal-chat-extractor",
    "action": "auto_fix",
    "rule_module": "scorecard",
    "severity": "medium",
    "remediation": "Add CodeQL or equivalent SAST workflow.",
    "scorecard_check": "SAST"
  }
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath merged commit d92856e into main May 26, 2026
19 checks passed
@hyperpolymath
hyperpolymath deleted the chore/hypatia-ignore-rescript-example branch May 26, 2026 01:54
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