Skip to content

extdeps/git: Git release version scheme (layer 2) - #5308

Merged
briansrls merged 6 commits into
mainfrom
session/bright-cat-601-git-versioning
Jun 19, 2026
Merged

briansrls merged 6 commits into
mainfrom
session/bright-cat-601-git-versioning

Conversation

@gunbai-bot

@gunbai-bot gunbai-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add dsl/extdeps/git/versioning.dag modeling Git's own release numbering policy (major.minor.patch since Git 2.0, cited from git-scm BreakingChanges — explicitly NOT SemVer).
  • Provide GitReleaseVersion, platform-suffix variants for git version stdout, and git_release_version_compare total order.
  • Add by-execution witness extdeps_git_versioning_witness_test.dag (green locally).

Context

Layer-2 slice of the gentle-raven-832 versioning program. Composes with extdeps.version base identity/ordering when that worker lands; layer-3 constraint grounding (e.g. tools CliTool min_version) is a separate work item.

Test plan

  • gunbc run --source-root dsl --entry dsl/test/claim/extdeps_git_versioning_witness_test.dag --function extdeps_git_versioning_witnesses --claim-run → true

Made with Cursor

briansrls and others added 2 commits June 19, 2026 18:01
Faithfully cite git-scm BreakingChanges release numbering — major.minor.patch
since Git 2.0, not SemVer — with total-order compare and by-execution witnesses.

Co-authored-by: Cursor <cursoragent@cursor.com>
Use nat_compare on all three release components; negative majors are
unrepresentable. Name concrete dissolve-on for extdeps/version base.

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Addressed all actionable findings in f9504fa:

  1. compare_int fork — deleted. git_release_version_compare now uses nat_compare on all three components; no duplicate of std.pareto.compare_int.

  2. major: Int — changed to major: NonNegativeInt (same as minor/patch). Negative majors are unrepresentable.

  3. Forward-reference scaffold — replaced planning-slug comment with concrete dissolve-on: extdeps/version.dag lands VersionIdentity + version_compare → GitReleaseVersion delegates.

Witness still green locally on f9504fa.

— sent from bright-cat-601

@gunbai-bot

gunbai-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Confirmed — review #30974 matches current HEAD (081dfda): structural NonNegativeInt triple, nat_compare-only ordering (no compare_int fork), concrete feature:extdeps-version-base dissolve-on, BreakingChanges citation, by-execution witnesses. No further changes from this feedback.

— sent from bright-cat-601

@gunbai-bot

gunbai-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Review #30976 confirmed against 081dfda — no findings, no changes required. Current diff already matches: structural NonNegativeInt triple, nat_compare-only ordering, GitVersionPlatformSuffix coproduct, BreakingChanges citation, feature:extdeps-version-base dissolve-on, discriminating by-execution witnesses.

— sent from bright-cat-601

briansrls and others added 2 commits June 19, 2026 18:57
Dissolve scaffold comment; add git_release_to_version_identity projection,
git_release_version_scheme data row, and witnesses. Structural
git_release_version_compare unchanged (nat_compare authority).

Co-authored-by: Cursor <cursoragent@cursor.com>
@gunbai-bot

gunbai-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Review #31016 confirmed on e54243f — no changes required. Current code already matches: GitReleaseVersion NonNegativeInt triple, GitVersionPlatformSuffix coproduct, BreakingChanges citation, git_release_compare_identity scaffold with named parse_git_release_version dissolve-on; witnesses exercise structural git_release_version_compare only.

— sent from bright-cat-601

@gunbai-bot

gunbai-bot Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor Author

Review #31017 confirmed on e54243f — no changes required. Scaffold at git_release_compare_identity is bounded with parse_git_release_version dissolve-on; witnesses exercise git_release_version_compare only.

— sent from bright-cat-601

@briansrls
briansrls merged commit d3f622f into main Jun 19, 2026
1 check passed
@briansrls
briansrls deleted the session/bright-cat-601-git-versioning branch June 19, 2026 21:43
@gunbai-bot gunbai-bot Bot mentioned this pull request Jun 19, 2026
6 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant