Development record
abcd capture list --json, and the other capture surfaces that emit an issue whole, echo a record's stored text raw: its body and its frontmatter strings (remedy, found_during, resolution, wontfix_reason and the rest). capture writes a body with its hidden runes percent-encoded, but the validator holds no stored string to a rune set, so a hand-edited or repository-shipped record carrying a control, bidi or zero-width rune puts it on the stream. Found while masking the skipped-record list for iss-2610121542258778; a test planting U+202E and U+034F in a record body sees them raw in capture list --json.
abcd capture list --json, and the other capture surfaces that emit an issue whole, echo a record's stored text raw: its body and its frontmatter strings (remedy, found_during, resolution, wontfix_reason and the rest). capture writes a body with its hidden runes percent-encoded, but the validator holds no stored string to a rune set, so a hand-edited or repository-shipped record carrying a control, bidi or zero-width rune puts it on the stream. Found while masking the skipped-record list for iss-2610121542258778; a test planting U+202E and U+034F in a record body sees them raw in capture list --json.
Security scope (abcd-fixes-what-it-adds): the route does not exist without abcd. The text is echoed by abcd's own --json surface, so abcd added the route and fixes it at the boundary the text enters by; a fix changes nothing about how the repository works.
Frontmatter
| id | iss-2610121653499543 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2610121653499543-abcd-capture-list-json-and-the-other.md
open on GitHub ↗ · commit history ↗
mentions2
- iss-2610121542258778A capture disposition's title (an issue record's first body line) reaches abcd drain --json raw, and capture surfaces other than the drain still show the ledger reader's unreadable-record error raw (only the drain's copy is masked, since iss-2610121516552317), so a repository whose issue record body or a stored value carries a control or bidi rune puts it on those streams.
- iss-2610141706053335The 0.14.1 changelog line on masking names the reasons, titles and records that drain, capture list and capture status show, but abcd has no capture status sub-verb: bare abcd capture renders the ledger status, and abcd capture status gets the lone-word refusal. The wording comes from the resolution text of iss-2610121653499543, which the changelog derives from.