~bigbes/sr-ht-spec · parade

main · last commit 18 hours ago · 8tmadfpi

← Back to the parade

spec-koh Document or standardise specs' version-stamping mechanism in its APKBUILD Lined Up

status: open P3 task
bd update spec-koh --claim bd close spec-koh
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-17T20:40:13Z
Updated2026-08-17T20:40:13Z
Description
What is wrong: specs' APKBUILD passes no `VERSION=` to `make build` and relies entirely on Go's automatic VCS stamp (`debug.ReadBuildInfo`) for its version string, with no comment explaining that this is the chosen mechanism.

Why it matters: `artifacts`, `coverage` and `tokens` instead define `_version="${SRHT_VERSION:-$pkgver}"` and inject it via `-ldflags -X`, which is strictly more explicit — it does not depend on the build having been run inside a git checkout. `phoebe-lab/srht/CLAUDE.md` documents `docker logs srht-<svc>-1 | grep version=` as the universal way to verify a deploy, implying both mechanisms are expected to produce a usable startup log line, but nothing states that specs made a deliberate choice rather than just defaulting.

Sibling that does it correctly: neither is wrong on its own; the gap is that the choice isn't recorded anywhere. `sourcehut-artifacts`/`sourcehut-coverage`/`sourcehut-tokens` show the explicit ldflags form if that's preferred instead.

Fix: add a one-line comment to specs' APKBUILD stating it relies on the Go VCS stamp and why (or switch to the ldflags form to match the other convention), so the split reads as a decision rather than an accident.

Note: confidence unverified — whether the two mechanisms are truly equivalent for specs' actual startup log line was not traced into `cmd/specsrht/main.go`; verify before treating this as more than a documentation gap.

Audit: D43 (cross-repo audit, 2026-08-17)

Depends on

No outgoing dependencies.

Depended on by

Nothing depends on this issue.

No comments.

  • Eugene Blikh created the issue · 2026-08-17T23:40:12Z
Stored rows — what this pane was built from, as read
issues 1 row
id spec-koh
content_hash 49cc68647ed1d042deb1b4a891a392e7e725a375cd90a69e66f23319e0e66c2d
title Document or standardise specs' version-stamping mechanism in its APKBUILD
description What is wrong: specs' APKBUILD passes no `VERSION=` to `make build` and relies entirely on Go's automatic VCS stamp (`debug.ReadBuildInfo`) for its version string, with no comment explaining that this is the chosen mechanism. Why it matters: `artifacts`, `coverage` and `tokens` instead define `_version="${SRHT_VERSION:-$pkgver}"` and inject it via `-ldflags -X`, which is strictly more explicit — it does not depend on the build having been run inside a git checkout. `phoebe-lab/srht/CLAUDE.md` documents `docker logs srht-<svc>-1 | grep version=` as the universal way to verify a deploy, implying both mechanisms are expected to produce a usable startup log line, but nothing states that specs made a deliberate choice rather than just defaulting. Sibling that does it correctly: neither is wrong on its own; the gap is that the choice isn't recorded anywhere. `sourcehut-artifacts`/`sourcehut-coverage`/`sourcehut-tokens` show the explicit ldflags form if that's preferred instead. Fix: add a one-line comment to specs' APKBUILD stating it relies on the Go VCS stamp and why (or switch to the ldflags form to match the other convention), so the split reads as a decision rather than an accident. Note: confidence unverified — whether the two mechanisms are truly equivalent for specs' actual startup log line was not traced into `cmd/specsrht/main.go`; verify before treating this as more than a documentation gap. Audit: D43 (cross-repo audit, 2026-08-17)
design
acceptance_criteria
notes
status open
priority 3
issue_type task
assignee NULL
estimated_minutes NULL
created_at 2026-08-17T20:40:13Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-17T20:40:13Z
closed_at NULL
closed_by_session
external_ref NULL
spec_id
compaction_level 0
compacted_at NULL
compacted_at_commit NULL
original_size NULL
sender
ephemeral 0
wisp_type
pinned 0
is_template 0
mol_type
work_type
source_system
metadata �{}
source_repo
close_reason
event_kind
actor
target
payload
await_type
await_id
timeout_ns 0
waiters
hook_bead
role_bead
agent_state
last_activity NULL
role_type
rig
due_at NULL
defer_until NULL
no_history 0
started_at NULL
is_blocked 0
events 1 row
id 01a01174-0b38-7265-a958-342d7b694c01
issue_id spec-koh
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-17T23:40:12Z