Expand description
Pure text: what a Linear issue looks like as a cliban description, and what cliban progress looks like in Linear.
Everything here is &str in, String out. No network, no database — which
is what makes the merge rules testable, and the merge rules are the part
that can quietly destroy someone’s work.
Structs§
- Task
Progress - One task’s tick count.
Constants§
- FENCE_
BEGIN_ PREFIX - Markers delimiting the region of a Linear description that cliban owns. HTML comments, so they are invisible in Linear’s rendered view — a human reading the issue sees the content, not the plumbing.
- FENCE_
END - PLAN
- SPEC
- Anchors in the cliban description contract.
Functions§
- apply_
fence - Splice
innerinto the cliban-owned fenced region of a Linear description, leaving all surrounding prose untouched. Appends the region when absent. - initial_
description - The full description for a newly imported issue: the spec, plus an empty
## Plansocliban issue tickhas a section to work against immediately rather than failing with “no ## Plan section”. - plan_
progress - Count ticked steps per task in a
## Planbody. - progress_
comment - The comment
pushposts on the Linear issue: where the plan stands and what happened since the last sync. - progress_
digest - The body of the living progress comment: one comment per linked issue, rewritten in place on every push, so it always describes now.
- refresh_
description - Re-import: refresh the Linear-owned
## Specand leave every other section byte-identical. This is the load-bearing guarantee of the whole bridge — an agent’s half-ticked## Planmust survive a refresh. - spec_
body - The
## Specbody for an imported issue: Linear’s description verbatim, with a provenance line so anyone reading the cliban issue can get back to the source.