Documentation
¶
Overview ¶
Package plan defines types for structured work plans.
Index ¶
- func EmbedMarker(body, hash string) string
- func EpicIdentity(e Epic) string
- func ExtractMarker(body string) (string, bool)
- func IssueIdentity(i Issue) string
- func MilestoneIdentity(m Milestone) string
- func Validate(p *Plan) error
- type Epic
- type Issue
- type Milestone
- type Plan
- type Resource
- type Target
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func EmbedMarker ¶
EmbedMarker appends an HTML-comment marker carrying the identity hash to body. If body already contains a ggvalet:plan-id marker, it is REPLACED (not duplicated). Format: "\n\n<!-- ggvalet:plan-id=<hash> -->\n"
func EpicIdentity ¶
EpicIdentity returns a deterministic content hash for an epic. Inputs: title.
func ExtractMarker ¶
ExtractMarker returns the embedded plan-id hash from body, if present. Returns ("", false) if no marker found.
func IssueIdentity ¶
IssueIdentity returns a deterministic content hash for an issue. Inputs: title, milestone (local plan ID), epic (local plan ID). Note: milestone+epic are PLAN-LOCAL IDs (e.g. "m-q4-2026-w7"), not remote IIDs. This is correct: the marker is computed from plan intent, not remote state.
func MilestoneIdentity ¶
MilestoneIdentity returns a deterministic content hash for a milestone. Inputs: title (load-bearing), due_date (load-bearing for time-series milestones). Returns lowercase hex sha256.