/** * Spec-to-issue lineage markers. * * IngestionService prepends a single-line HTML comment to every created * issue body so the spec-side ref (`T-001`, `capability:Foo`) can be * recovered from the issue later. Audit pipelines use this to compute * spec-orphan metrics for AI-closed work. * * Marker shape: * * * The marker is placed at the TOP of the body. Parsers tolerate * surrounding whitespace and locate the first marker if multiple exist * (multiple shouldn't happen, but lineage is informational, not * authoritative — defensive parsing is cheap). */ /** * Build a lineage-marker comment for a given spec ref. * * Returns the marker line only (no trailing newline) so callers can * decide their own join strategy. */ export declare function formatIdo4LineageMarker(ref: string): string; /** * Build a body string with the lineage marker prepended above existing content. * * If `body` is empty, returns the marker alone. Idempotent: re-applying with * the same ref to a body that already starts with that marker is a no-op. */ export declare function withLineageMarker(ref: string, body: string): string; /** * Recover the spec ref from an issue body, or `null` if the body has no * lineage marker. * * Capability refs follow the convention `capability:`; task refs * follow whatever the spec used (e.g., `T-001`, `INFRA-02`). The parser * doesn't validate ref shape — that's the spec parser's job upstream. */ export declare function parseIdo4LineageMarker(body: string): { ref: string | null; }; //# sourceMappingURL=lineage-marker.d.ts.map