Repository navigation
Conversation
tamird
marked this pull request as draft
October 16, 2026 15:20
tamird
force-pushed
the
type-contracts
branch
from
October 16, 2026 15:26
6554f82 to
559d82c
Compare
tamird
force-pushed
the
type-contracts
branch
from
October 18, 2026 21:25
9c19249 to
9ece1e5
Compare
tamird
force-pushed
the
type-contracts
branch
6 times, most recently
from
October 23, 2026 16:50
d3af802 to
309b721
Compare
tamird
force-pushed
the
type-contracts
branch
3 times, most recently
from
October 29, 2026 17:19
7055eae to
f351ef1
Compare
tamird
force-pushed
the
type-contracts
branch
3 times, most recently
from
November 3, 2026 18:20
396d146 to
fdc98f9
Compare
Give toolchain configuration, provider collectors and rule helpers typed inputs and results. Keep simple signatures in their implementations; represent provider fields and generic functions in companion interfaces.
Export the interfaces for dependent repositories. Run sty on the implementations and report findings across the remaining Starlark files.
Move four companion declarations into the implementations they describe. Keep the same strict sources and let the shared action select the complete advisory inventory.
Declare each macro's inputs at its definition. Derive the directory tool's forwarded keywords from cc_tool so both macros share one contract. Check the repository rule at its implementation. Remove four companion interfaces and their registrations. Document which generic binders and cross-module types the others require.
Link the three wrapper signatures to the Bazel proposal for deriving keyword arguments from a wrapped rule.
Identify the native types each exceptional comment needs. Document the language boundary beside its use.
Follow the repository’s release-tag convention for external actions. Use the same checkout and checker revisions as the previous workflow.
Set one severity for the eleven strict diagnostics. Let the pinned checker define the group so an upgrade can extend it without edits to the project configuration.
Since 60dc620, the root module replaces Skylib with a fork to get type information. Bazel also uses that fork for ordinary builds. Declare the build macro, path helpers and two providers against Skylib 1.9.0. Check their signatures against the installed sources. Report incomplete types in three files from the release while checking their contracts and callers as errors.
tamird
force-pushed
the
type-contracts
branch
from
November 3, 2026 19:09
d59fe05 to
bbec9df
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Declare C++ toolchain and macro inputs beside their implementations.
Derive the directory tool’s forwarded keywords from
cc_tool, so changingthe wrapped macro updates both signatures. Use source comments for Bazel 7.
Export companion interfaces for generic binders, shared provider types
and recursive variable descriptors.
Separate percent escaping for known strings from the compatibility
helper that accepts
None. Preserve its existing callers.Check the implementations and their BUILD callers with the
sty action.
Bazel selects Skylib 1.9.0. Declare the Skylib APIs used here:
bzl_libraryin BUILD files, directory and build-setting providerfields in toolchain rules, and path helpers in the compiler and linker.
Check those contracts against the installed sources until
Skylib #641 ships.
Track the private Bazel Features lookup in #960 and the omitted
Objective-C sources in #967.
Prepared with Codex for @tamird.