Skip to main content

Module render

Module render 

Source
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§

TaskProgress
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 inner into 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 ## Plan so cliban issue tick has a section to work against immediately rather than failing with “no ## Plan section”.
plan_progress
Count ticked steps per task in a ## Plan body.
progress_comment
The comment push posts 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 ## Spec and leave every other section byte-identical. This is the load-bearing guarantee of the whole bridge — an agent’s half-ticked ## Plan must survive a refresh.
spec_body
The ## Spec body for an imported issue: Linear’s description verbatim, with a provenance line so anyone reading the cliban issue can get back to the source.