Add public API boundary checks

This commit is contained in:
2026-10-05 17:07:17 +00:00
parent d692607e2b
commit 22a3dfe9bc
8 changed files with 570 additions and 15 deletions

18
docs/internal/overview.md Normal file
View File

@@ -0,0 +1,18 @@
# Internal package inventory
Public facades and their contracts are defined in Go declarations and GoDoc.
The [runtime consumer guide](../consumers/runtime-version.md) covers application
usage, and the [CLI contract](../cli.md) covers command behavior.
Implemented internal packages:
- `internal/runtimeinfo` holds the injected version value and selects the
executable's main-module version when no injected value is present.
- `internal/versioncontract` names the linker symbol shared with the future
release builder.
- `internal/apicheck` checks compiled exports with `go/types` and checks import
direction. Run it with `go run ./internal/apicheck` from the repository root.
The executable currently imports only the runtime facade. Release orchestration,
process execution, build, Git, and Gitea implementation packages are introduced
as their responsibilities are implemented.