main · last commit
18 hours ago ·
8tmadfpi
spec-koh Document or standardise specs' version-stamping mechanism in its APKBUILD
Lined Up
bd update spec-koh --claim
bd close spec-koh
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-08-17T20:40:13Z |
| Updated | 2026-08-17T20:40:13Z |
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)
No outgoing dependencies.
Nothing depends on this issue.
| 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 |
| 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 |
No comments.