feat: add deterministic annotation plan canonicalization

This commit is contained in:
codex
2026-08-03 09:14:19 +03:00
parent 6f32371418
commit 713e620485
5 changed files with 78 additions and 8 deletions
@@ -58,8 +58,12 @@ public sealed record PlantObjectSnapshot
public required GeometrySnapshot Geometry { get; init; }
public IReadOnlyDictionary<string, string?> Properties { get; init; } = new Dictionary<string, string?>();
public IReadOnlyList<string> Diagnostics { get; init; } = Array.Empty<string>();
public ViewMembershipStatus MembershipStatus { get; init; } = ViewMembershipStatus.NotResolved;
public IReadOnlyList<string> MembershipEvidenceCodes { get; init; } = Array.Empty<string>();
}
public enum ViewMembershipStatus { NotResolved, Resolved, PartiallyResolved, ObjectOutsideView, Unsupported, Failed }
public sealed record PlantRuntimeContext
{
public bool HasActiveDocument { get; init; }
@@ -206,6 +210,7 @@ public sealed record AnnotationIntent
public sealed record AnnotationPlan
{
public int PlanSchemaVersion { get; init; }
public string PlanId { get; init; } = string.Empty;
public string CommandName { get; init; } = string.Empty;
public IReadOnlyList<AnnotationOperationPlan> Operations { get; init; } = Array.Empty<AnnotationOperationPlan>();