V16 / 6df58cd3ed86
ProjectDraftModels.cs
Lilith/Core/Projects/ProjectDraftModels.cs
Unchanged from the preceding versionCS
namespace Lilith.Core.Projects;
public sealed record ProjectEdit(string Action, string Path, string? Content = null, string? Destination = null, string? Old = null);
public sealed record ProjectEditSet(ProjectEdit[] Changes);
[System.Text.Json.Serialization.JsonConverter(typeof(ProjectTestActionConverter))]
public sealed record ProjectTestAction(string Type, string Selector = "", string Value = "", int Width = 0, int Height = 0);
public sealed record ProjectTestCase(string Id, string Requirement, string Stdin = "", string[]? Contains = null,
string[]? NotContains = null, int ExitCode = 0, ProjectTestAction[]? Actions = null);
public sealed record ProjectTestPlan(ProjectTestCase[] Cases);
public sealed record ProjectCaseResult(string Id, string Status, string Expected, string Actual);
public sealed record ProjectRuntimeReport(bool Passed, string SourceHash, string PlanHash, ProjectCaseResult[] Cases, string[] Errors, string Evidence);
public sealed record ProjectDraft(int SchemaVersion, string Id, string Name, string Kind, string Prd, string Request,
ProjectArchitecture Architecture, ProjectSource[] Files, string? OriginalSignature, string[] OriginalManagedPaths,
ProjectTestCase[] Tests, int Revision, string State, int Rounds, ProjectRuntimeReport? Runtime,
string SourceReview = "Not reviewed", string? ProposalId = null);
public sealed record ProjectUpdateBundle(ProjectBundle Bundle, string[] OriginalManagedPaths);