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#541
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/forgejopackage (Client + typed request/response types) satisfying the Go interface landed in #505 + the C7 contract landed in #504.Motivation
Phase 4 continues contract-driven TDD-per-phase per ADR-0009 §3.1.
internal/forgejois one of two Phase 4 packages (sibling: #542 manifest). Interface (Client, 17-function surface + typed request/response types) is Surveyor-approved in #505; C7 contract (docs/architecture/contracts/forgejo-api.md+ response-shape schemas) landed in #504; implementation lands here.Scope
internal/forgejo/*.go— implementation satisfying #505 interface (Client with 17-function surface; typed request/response structs matching C7)curlcalls (inlib/forgejo.shor scattered acrossrelease.sh/release-prep.sh/draft-release.sh— VERIFY on-disk before starting; may be scattered like #528 events was central, or scattered like #528 events would have been if bash surface was not centralized)internal/harness(reuse Phase-1 vehicle: Go oracleshim + bash dispatcher + PREBUILT BINARY per substrate-of-record memo)testdata/fixtures/forgejo/— real API request/response shapes (from actual Forgejo instance if available OR from captured session logs)AC
internal/forgejoimplementation compiles + all#505interface methods satisfied (15 methods actual = 7 reads + 8 mutations per Engineer deep-read against interface.go; the "17-function" tracker text was Bosun's initial framing at file-time — restated to real interface surface per ac-tick-discipline same class as prior contract-vs-tracker restatements). Verified in PR#545249e522go vet ./...+golangci-lint runclean — verified: gate own instrument (golangci-lint 2.12.1) fired 0 issues; shellcheck cleanRelated
Anchor
Filed 2026-07-26 by Bosun on operator continuation direction for Phase 4 dispatch.
Closed by hand — PR#545 merged as
249e522a28a2ed520ac89f5eb117e6c78259ae0aon v2/next (fast-forward). All 5 ACs ticked with substrate anchors above.Substrate landed:
internal/forgejo.Client— 15 methods (7 reads + 8 mutations)AC1 restated (17-function → 15 methods actual): tracker text at file-time cited "17-function surface" as anticipated shape; Engineer's deep-read against interface.go confirmed 15 (7 reads + 8 mutations) as the real surface. Restated per ac-tick-discipline — same class as 3× prior contract-vs-tracker restatements this arc. Substrate reality wins.
Cleanest Phase-4 close PR: NO must-fix / NO should-consider per Surveyor 4583. Triple-verified BranchProtection correction. Reusable harness-class established.
Cross-references:
Phase 4 COMPLETE: #541 forgejo + #542 manifest both landed. Milestone #76 closes on this tracker close.