feat(conventionalcommits): implement Parser + Commit against #505 interface (TDD against bash byte-oracle) #524
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit#524
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implement
internal/conventionalcommitspackage satisfying the Go interface landed in #505.Motivation
Phase 1 kicks off contract-driven TDD-per-phase per ADR-0009 §3.1.
internal/conventionalcommitsis one of two Phase 1 pure-logic libs (sibling: #523 semver). Interface (Parser,Commit) is Surveyor-approved in #505; implementation lands here.Scope
internal/conventionalcommits/*.go— implementation satisfying #505 interface (Parser.Parse, Commit types, type/scope/breaking-change detection, bump-suggest logic)lib/conventionalcommits.sh(or the equivalent parsing logic inrelease-prep.sh) is the behavior-of-record.internal/harness— Go impl vs bash oracle on shared fixture corpustestdata/fixtures/conventionalcommits/— real commit-message shapes from the CHANGELOG corpus (147KB,frankenbit/release-toolkitgit history) as C6-adjacent sourceAC
internal/conventionalcommitsimplementation compiles + all#505interface methods satisfied — verified in PR#5263cca869; ParseCommit additive constructor introduced beside frozen ParseSubject for BREAKING CHANGE body-trailer detection (Surveyor S1 design call: endorse + doc-pointer + defer amendment to Phase 6)go test ./internal/conventionalcommits/...) — verified in PR#526 gate rungo vet ./...+golangci-lint runclean — verified: gate own instrument (golangci-lint) fired, all cleanRelated
Anchor
Filed 2026-07-25 by Bosun on operator continuation direction for Phase 1 dispatch. Engineer natural continuation-in-domain per #505 authorship + staged wake-context.
Closed by hand — PR#526 merged as
3cca8699390251870dd4ef7ff7f7085dc657cfadon v2/next (fast-forward). All 5 ACs ticked with substrate anchors above.Two commits landed:
lib/conventional-commits.sh.Surveyor S1 (design call): endorsed additive ParseCommit + doc-pointer + interface amendment DEFERRED to Phase 6 (natural surface where orchestrators consume cc). Pass-with-disclosure applied — the frozen #505 interface stays intact for Phase 1 close; Phase 6 lifts if needed.
Surveyor forward-note: #442 register-scrub obligation moves to Phase 3 composer (cross-phase, non-blocking on Phase 1).
Cross-references:
Phase 1 status: 2/2 complete (#523 + #524). Milestone #73 closes on this tracker close.