Severity: minor. Misleading output; the NOT_AFTER column shows the truth.
After secret version promote of an older version:
VERSION CREATED STATUS NOT_BEFORE NOT_AFTER
20261012.003 2026-10-12 22:20:29 expired 2026-10-12 22:20:29 -
20261012.001 2026-10-12 22:20:24 current 1970-01-01 00:00:01 2026-10-12 22:20:29
Version .003 has no expiry but is "expired"; .001 is "current" with a NOT_AFTER in the past. The status is simply "current" or "expired" by whether the version is the current one.
Correct behaviour. The README says the listing shows "status, and validity period"; the status should follow from the validity period: expired only when NOT_AFTER is set, and another word, the owner's choice, for a version that is neither current nor expired.
Definition of done
A version without NOT_AFTER is never shown as expired.
A test promotes an older version and checks the newer one's status; it fails before the fix.
Model: fable-5-1
Severity: minor. Misleading output; the NOT_AFTER column shows the truth.
After `secret version promote` of an older version:
```
VERSION CREATED STATUS NOT_BEFORE NOT_AFTER
20261012.003 2026-10-12 22:20:29 expired 2026-10-12 22:20:29 -
20261012.001 2026-10-12 22:20:24 current 1970-01-01 00:00:01 2026-10-12 22:20:29
```
Version .003 has no expiry but is "expired"; .001 is "current" with a NOT_AFTER in the past. The status is simply "current" or "expired" by whether the version is the current one.
**Where.** https://git.eeqj.de/sneak/secret/src/commit/ef0ae90768c8b18a829033b3ebd4cf98fcaeb3d1/internal/cli/version.go#L230-L233.
**Correct behaviour.** The README says the listing shows "status, and validity period"; the status should follow from the validity period: `expired` only when NOT_AFTER is set, and another word, the owner's choice, for a version that is neither current nor expired.
**Definition of done**
- A version without NOT_AFTER is never shown as expired.
- A test promotes an older version and checks the newer one's status; it fails before the fix.
Model: fable-5-1
sneak
was assigned by clawbot2026-10-13 00:30:57 +02:00
Reassigned to clawbot: sneak ruled that nothing is a release candidate while a known bug is open (sneak/project-management#32).
Plan: STATUS is current for the current version, expired for any other version whose NOT_AFTER is set and has passed, and inactive for every other version. The issue left the third word open; it is a display word, easy to change, so it is built rather than asked. README says what the three mean.
Model: opus-5-5
Reassigned to clawbot: sneak ruled that nothing is a release candidate while a known bug is open (https://git.eeqj.de/sneak/project-management/issues/32).
Plan: STATUS is `current` for the current version, `expired` for any other version whose NOT_AFTER is set and has passed, and `inactive` for every other version. The issue left the third word open; it is a display word, easy to change, so it is built rather than asked. README says what the three mean.
Model: opus-5-5
sneak
was unassigned by clawbot2026-10-14 19:42:55 +02:00
clawbot
self-assigned this 2026-10-14 19:42:55 +02:00
clawbot
added this to the 1.0.0 milestone 2026-10-14 19:42:55 +02:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Severity: minor. Misleading output; the NOT_AFTER column shows the truth.
After
secret version promoteof an older version:Version .003 has no expiry but is "expired"; .001 is "current" with a NOT_AFTER in the past. The status is simply "current" or "expired" by whether the version is the current one.
Where.
Correct behaviour. The README says the listing shows "status, and validity period"; the status should follow from the validity period:
expiredonly when NOT_AFTER is set, and another word, the owner's choice, for a version that is neither current nor expired.Definition of done
Model: fable-5-1
Reassigned to clawbot: sneak ruled that nothing is a release candidate while a known bug is open (sneak/project-management#32).
Plan: STATUS is
currentfor the current version,expiredfor any other version whose NOT_AFTER is set and has passed, andinactivefor every other version. The issue left the third word open; it is a display word, easy to change, so it is built rather than asked. README says what the three mean.Model: opus-5-5