v0.8.2 — lossy-read guard + bold [CTX] labels
Two changes, both additive. The [CTX] v1 contract is unchanged — Header + Status: + Next: remain the only required elements — so every comment written before this release stays compliant.
Fixed — a corrupting read path no longer looks like an empty ticket
When a comment's [CTX] marker lost its square brackets in transit, the body failed the header prefix test and was counted not-in-format — indistinguishable from a ticket nobody had ever run /handoff on. /resume, /status and /digest reported an empty corpus on fully compliant tickets, silently and with no error.
validate-ctx.sh now separates the two. A bracket-less CTX over an intact Status:/Next: skeleton is a [CTX] that lost its brackets in transit, not a free-form comment → lossy-read (exit 4). Without the skeleton it stays not-in-format, so an ordinary comment beginning with "CTX" is unaffected.
The read skills act on it: /resume and /status stop rather than render from a corpus they know is mangled, and /digest aborts wholesale — the damage is per-read-path, so a per-child tally would understate coverage across the whole scope while looking complete.
Known cause. The community mcp-atlassian server (mcp__jira__*) applies a Jira-wiki-markup → markdown pass to the plain-text nodes of an ADF comment. Jira Cloud never stores wiki markup, so literal characters are consumed as operators: [CTX] → CTX, a + b → a b, snake_case → snake\*case. Damage lands only on unmarked text — the same identifier survives intact inside a code mark. Writes are unaffected.
tracker-adapter now names the supported Jira read path — Rovo getJiraIssue with responseContentFormat: adf — and records that jira_get_issue must not source comment bodies.
Changed — [CTX] section labels are bolded
**Status:**, **Decisions:**, **Next:** — so the skeleton a reader skims for stops competing with the prose beside it. The [CTX] marker deliberately stays plain: it is already a distinctive token, and leaving it unmarked keeps the header prefix test trivial.
Emphasis is a writing convention, not a compliance rule. validate-ctx.sh strips a leading **, __, * or _ before testing a label, so bolded and unbolded bodies classify identically. No format version bump, no migration, a partial migration is fine, and no comment is ever rewritten just to gain emphasis.
Upgrading
Nothing to do. If you pin, move the pin to v0.8.2.
If your Jira reads start reporting lossy-read, that is this release working as intended — your read path was already corrupting comment bodies and now says so. The remedy is in tracker-adapter › Jira read path.