Proactive Scan & Jules-Style Issues
The CI-Native Agent does not wait for you to ask. The proactive scan workflow finds problems on its own, files them as readable GitHub Issues, and announces the fix before it arrives.
How it runsβ
.github/workflows/proactive-scan.yml ships with the SquireX setup and runs:
- On every push to
mainthat touches agent metadata or Apex - On a weekly schedule (cron)
- On demand (
workflow_dispatch, the Run workflow button)
Each run executes a full SquireX scan, uploads SARIF to GitHub Advanced Security, and the resulting code_scanning_alert webhook drives the autofix loop.
What the workflow does around the scan:
- Test fixtures are excluded. Results under
test/,tests/,__tests__/or anyfixtures/directory are dropped from the SARIF before upload and before issues are filed (regex in theSQUIREX_EXCLUDE_REGEXworkflow variable). The job summary shows the total, excluded and kept counts. - Code scanning is checked first. If code scanning is not enabled on the repository, the SARIF upload is skipped with a notice in the job summary instead of failing the job. Issues are still filed from the filtered results. Enable code scanning to get alerts in the Security tab (and the autofix trigger).
- Permissions. The workflow needs
security-events: write,issues: write,contents: readandactions: read(the last one is required byupload-sarifon private repos).
Jules-style Issuesβ
For every finding, the agent files a GitHub Issue written in a first-person, conversational voice β it explains what it found, suggests a direction, and tells you a fix is already on the way:
## π΄ I found an Excessive Agency issue in `IncidentBot.cls`
**Rule:** AGENTFORCE-1.1 β Unconfirmed Data Mutation
**Severity:** error | **Compliance:** SOC2_CC6, NIST_AI_RMF
**Triggered by:** schedule Β· Commit: a1b2c3d
### What I found
The agent modifies records without a user-confirmation stepβ¦
### My suggestion
Address the Excessive Agency risk in `IncidentBot.cls` by following the
patterns in the rule documentationβ¦
> π€ SquireX Autonomy is generating an automated fix. A silent draft PR
> will appear on this repository shortly, ready for your review and merge.
Issues are:
- Severity-coded β π΄ error / π‘ warning / π΅ note, plus
squirex:<level>and category labels - Deduplicated β existing open SquireX issues are fetched first; the agent never re-files the same finding
- Linked to rule docs β every rule references its public catalog page at
squirex.dev/rules/{ruleId}
Compliance taggingβ
When a rule carries regulatory mappings, the agent surfaces them directly in the issue β Compliance: SOC2_CC6, NIST_AI_RMF, EU_AI_ACT, HIPAA, PCI_DSS, OWASP_MCP. This turns each autonomous finding into audit-ready evidence without a separate report.
The chain: scan β issue β silent PRβ
The proactive scan and the fix loop are one continuous chain. The issue is the human-readable announcement; the silent draft PR is the action. You review both β the agent never merges.