docs: accept module versioning boundaries
Documentation / docs (pull_request) Successful in 15s

This commit is contained in:
end committed 2026-10-26 21:44:09 -07:00
1 parent 8ee8b0aec0
commit 104c3ec757
2 files changed
+6 -5

No files matched your search

+1 -1
View File
@@ -30,7 +30,7 @@ Go module `go.auvem.com/corestack`.
- Docs format (the spec `docs check` implements): `docs/docs-format.md`. - Docs format (the spec `docs check` implements): `docs/docs-format.md`.
- Decisions live in `docs/adr/`, plans in `docs/plans/`. Records are permanent; never rename them. - Decisions live in `docs/adr/`, plans in `docs/plans/`. Records are permanent; never rename them.
- Add dependencies only to the module that needs them; heavy dependencies go in nested modules (see the [proposed module-boundary ADR](/docs/adr/20261025T214616275Z-version-light-core-packages-in-the-root-module-and-nest-heavy-dependency-modules.md)). - Add dependencies only to the module that needs them; heavy dependencies go in nested modules (see the [module-boundary ADR](/docs/adr/20261025T214616275Z-version-light-core-packages-in-the-root-module-and-nest-heavy-dependency-modules.md)).
## Go ## Go
- Default backend language is Go; follow existing package boundaries. - Default backend language is Go; follow existing package boundaries.
@@ -1,8 +1,8 @@
--- ---
title: "Version light core packages in the root module and nest heavy-dependency modules" title: "Version light core packages in the root module and nest heavy-dependency modules"
date: 2026-10-25 date: 2026-10-25
status: proposed status: accepted
implementation: not-started implementation: implemented
summary: Keep light core packages on root-module versions and isolate heavy or independently versioned packages in nested modules from their first commit. summary: Keep light core packages on root-module versions and isolate heavy or independently versioned packages in nested modules from their first commit.
tags: tags:
- modules - modules
@@ -12,7 +12,8 @@ superseded_by: []
related: [] related: []
tracking: tracking:
- https://gitea.auvem.com/corestack/go/issues/2 - https://gitea.auvem.com/corestack/go/issues/2
implemented_by: [] implemented_by:
- https://gitea.auvem.com/corestack/go/pulls/4
--- ---
# Version light core packages in the root module and nest heavy-dependency modules # Version light core packages in the root module and nest heavy-dependency modules
@@ -40,7 +41,7 @@ Choose the mixed boundary: light core packages share the root module; heavy-depe
* Add dependencies only to the module that needs them. The named core packages remain in the root module; heavy dependencies belong in the relevant nested module. * Add dependencies only to the module that needs them. The named core packages remain in the root module; heavy dependencies belong in the relevant nested module.
* Keep `cmd/docs` in the root module. The [release workflow](/.gitea/workflows/release.yml) listens only for plain `v*` tags, and [GoReleaser](/.goreleaser.yaml) builds `./cmd/docs`, so only root-module tags publish binaries. Prefixed library tags never publish binaries. * Keep `cmd/docs` in the root module. The [release workflow](/.gitea/workflows/release.yml) listens only for plain `v*` tags, and [GoReleaser](/.goreleaser.yaml) builds `./cmd/docs`, so only root-module tags publish binaries. Prefixed library tags never publish binaries.
This proposal records the boundary before the planned packages are added; it does not create empty modules or change the current release configuration. This decision establishes the boundary before the planned packages are added. The rule is implemented in [AGENTS.md](/AGENTS.md), and the existing release configuration already follows it. Future packages apply the rule when introduced; no empty modules are needed.
### Consequences ### Consequences