Skip to content

Infs toolchain resolver#192

Merged
0xGeorgii merged 9 commits into
mainfrom
infs-toolchain-resolver
Apr 19, 2026
Merged

Infs toolchain resolver#192
0xGeorgii merged 9 commits into
mainfrom
infs-toolchain-resolver

Conversation

@0xGeorgii
Copy link
Copy Markdown
Contributor

No description provided.

…ent compiler compatibility checks in build command
- Bump dependencies: sha2 to 0.11, zip to 8.5.1, toml to 1.1.2, and winreg to 0.56.
- Add a function to check verbosity from environment variables in paths.rs.
- Implement metadata reading with schema version warning in paths.rs.
- Add integration test to ensure `infs doctor` output matches VS Code extension's line contract.
@0xGeorgii 0xGeorgii self-assigned this Apr 18, 2026
@0xGeorgii 0xGeorgii added the infs Inference Start related label Apr 18, 2026
@0xGeorgii 0xGeorgii requested a review from Copilot April 18, 2026 04:30
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 18, 2026

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a more robust infsinfc pairing story by (1) improving infc resolution (prefer workspace sibling binaries), (2) introducing an explicit compatibility handshake (--commit-hash, --abi-version), and (3) expanding doctor diagnostics to help users understand which compiler will run and why.

Changes:

  • Introduce inference-compiler-interface crate to share compiler ABI version constants between infs and infc.
  • Add infc --commit-hash / --abi-version informational flags and integrate a compatibility handshake into infs build.
  • Improve infs toolchain resolution (workspace sibling priority, verbose tracing) and enhance doctor output + tests (including VS Code output-contract locking).

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
core/compiler-interface/src/lib.rs Adds shared ABI constants + helper accessor for ABI version string.
core/compiler-interface/Cargo.toml Declares new workspace crate for ABI/version handshake constants.
core/cli/src/parser.rs Makes source path optional and adds --commit-hash / --abi-version flags.
core/cli/src/main.rs Implements early-exit handlers for new informational flags; adjusts path handling.
core/cli/build.rs Embeds INFC_GIT_COMMIT at build time for --commit-hash.
core/cli/Cargo.toml Enables build script and depends on the new compiler-interface crate.
core/cli/tests/cli_integration.rs Adds integration tests for infc informational flags.
apps/infs/src/toolchain/resolver.rs Adds workspace-sibling resolution, resolution source reporting, and verbose tracing + tests.
apps/infs/src/toolchain/doctor.rs Enhances checks: enumerates multiple infc on PATH, reports resolved infc, warns on ambiguity.
apps/infs/src/toolchain/conflict.rs Adds which_all-based enumeration of all infc binaries on PATH + formatting + tests.
apps/infs/src/toolchain/paths.rs Adds best-effort metadata parsing + optional verbose schema mismatch warning + tests.
apps/infs/src/commands/doctor.rs Documents VS Code parsing contract and prints expanded duplicate-PATH warnings.
apps/infs/src/commands/build.rs Adds compatibility handshake (commit hash + ABI version) before invoking infc + tests.
apps/infs/tests/cli_integration.rs Adds contract test to lock doctor check-line format for VS Code parsing.
apps/infs/Cargo.toml Updates deps and adds inference-compiler-interface + regex dev-dependency.
Cargo.toml Registers inference-compiler-interface in workspace dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread apps/infs/src/toolchain/resolver.rs Outdated
Comment thread core/cli/build.rs Outdated
Comment thread core/compiler-interface/src/lib.rs Outdated
Comment thread apps/infs/src/commands/doctor.rs
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a more robust infsinfc toolchain resolution and compatibility handshake, plus locks down infs doctor output formatting for editor integrations.

Changes:

  • Introduces inference-compiler-interface crate to share infs/infc ABI version constants.
  • Extends infc with --commit-hash and --abi-version (and adds build scripts to embed commit hashes).
  • Updates infs toolchain resolver priorities (workspace-sibling first), adds verbose tracing, expands doctor diagnostics, and adds compatibility probing in infs build.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
core/compiler-interface/src/lib.rs Defines shared compiler ABI major/minor constants.
core/compiler-interface/Cargo.toml Adds new workspace crate manifest for the ABI constants.
core/cli/tests/cli_integration.rs Adds integration tests for infc --commit-hash and --abi-version.
core/cli/src/parser.rs Makes source path optional and adds new informational flags.
core/cli/src/main.rs Implements --commit-hash/--abi-version fast paths; adjusts path handling.
core/cli/build.rs Build script to embed INFC_GIT_COMMIT and rerun when git HEAD changes.
core/cli/Cargo.toml Enables build script and adds dependency on compiler-interface crate.
apps/infs/tests/cli_integration.rs Adds snapshot-style tests to enforce VS Code doctor-line regex contract.
apps/infs/src/toolchain/resolver.rs Adds workspace-sibling resolution, verbose tracing, and “source” reporting.
apps/infs/src/toolchain/paths.rs Adds metadata reader with optional verbose schema drift warning.
apps/infs/src/toolchain/doctor.rs Adds “Resolved infc” and ambiguity checks; enumerates all PATH infcs.
apps/infs/src/toolchain/conflict.rs Adds PATH enumeration (which_all) and duplicate warning formatting.
apps/infs/src/commands/doctor.rs Adjusts PATH-conflict output to remain regex-compatible; prints duplicate PATH info.
apps/infs/src/commands/build.rs Adds infc compatibility handshake (commit hash + ABI version probing).
apps/infs/Cargo.toml Adds compiler-interface + regex dev-dep; bumps several third-party deps.
Cargo.toml Registers inference-compiler-interface in workspace dependencies.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

"Resolved infc",
format!("{} (source: {})", path.display(), source.label()),
),
Err(err) => DoctorCheck::warning("Resolved infc", err.to_string()),
Comment thread core/cli/src/parser.rs
Comment on lines +73 to +74
/// a source file argument. Regular compilation still requires a path and
/// exits with an error if one is not supplied.
@0xGeorgii 0xGeorgii merged commit 6e71869 into main Apr 19, 2026
2 of 5 checks passed
@0xGeorgii 0xGeorgii deleted the infs-toolchain-resolver branch April 19, 2026 12:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

infs Inference Start related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants