Skip to content
Merged
16 changes: 16 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,12 @@ jobs:
cache: "npm"
cache-dependency-path: libs/openant-core/parsers/javascript/package-lock.json

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: libs/openant-core/parsers/go/go_parser/go.mod
cache-dependency-path: libs/openant-core/parsers/go/go_parser/go.mod

- name: Install Python dependencies
working-directory: libs/openant-core
run: pip install -r requirements.txt && pip install ".[dev]"
Expand All @@ -68,6 +74,16 @@ jobs:
working-directory: libs/openant-core/parsers/javascript
run: npm ci

- name: Build go_parser binary (Linux/macOS)
if: runner.os != 'Windows'
working-directory: libs/openant-core/parsers/go/go_parser
run: go build -o go_parser .

- name: Build go_parser binary (Windows)
if: runner.os == 'Windows'
working-directory: libs/openant-core/parsers/go/go_parser
run: go build -o go_parser.exe .

- name: Run Python and parser tests
working-directory: libs/openant-core
run: python -m pytest tests/ -v
Expand Down
5 changes: 5 additions & 0 deletions apps/openant-cli/cmd/scan.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ var (
scanDiffBase string
scanPR int
scanDiffScope string
scanLLMReachability bool
)

func init() {
Expand Down Expand Up @@ -79,6 +80,7 @@ func registerScanFlags(cmd *cobra.Command) {
cmd.Flags().StringVar(&scanDiffBase, "diff-base", "", "Incremental mode: filter pipeline to units overlapping diff vs this ref (e.g. origin/main, HEAD~5)")
cmd.Flags().IntVar(&scanPR, "pr", 0, "Incremental mode against a GitHub PR number (requires gh; mutex with --diff-base)")
cmd.Flags().StringVar(&scanDiffScope, "diff-scope", "changed_functions", "Diff scope: changed_files, changed_functions, callers")
cmd.Flags().BoolVar(&scanLLMReachability, "llm-reachability", false, "Enable the LLM reachability review stage (Opus). Surfaces entry points and external-input sites the structural pass would miss by reviewing the full codebase before the reachability filter is applied. Off by default — enabling this incurs cost proportional to total repo size, not the filtered unit count (~one Opus call per 25 units across the whole codebase).")
}

func runScan(cmd *cobra.Command, args []string) {
Expand Down Expand Up @@ -197,6 +199,9 @@ func runScan(cmd *cobra.Command, args []string) {
if manifestPath != "" {
pyArgs = append(pyArgs, "--diff-manifest", manifestPath)
}
if scanLLMReachability {
pyArgs = append(pyArgs, "--llm-reachability")
}

// Pass repository metadata from project context so reports don't show
// [NOT PROVIDED] placeholders.
Expand Down
Loading
Loading