Record Class RepairProposal
java.lang.Object
java.lang.Record
com.shaft.doctor.repair.RepairProposal
- Record Components:
schemaVersion- proposal schema versionproposalId- stable proposal identifierstatus- proposal lifecycle statusrepositoryRoot- approved repository rootbaseSha- exact approved base commitbranchName- dedicated Doctor branchworktreePath- isolated worktree pathissueReference- linked issue or sessiondiagnosisPath- diagnosis sourceevidenceBundlePath- optional evidence sourcepatches- guarded patch manifestvalidationPlan- approved validation commandsvalidationResults- command and Allure resultsunifiedDiff- complete review diffrisk- residual risk statementrollback- rollback guidanceapprovalToken- token required by a separate publication actionmanifestPath- persisted proposal manifestpublication- published draft PR details, when present
public record RepairProposal(String schemaVersion, String proposalId, RepairProposal.Status status, String repositoryRoot, String baseSha, String branchName, String worktreePath, String issueReference, String diagnosisPath, String evidenceBundlePath, List<RepairProposal.PatchManifestEntry> patches, List<List<String>> validationPlan, List<RepairProposal.ValidationResult> validationResults, String unifiedDiff, String risk, String rollback, String approvalToken, String manifestPath, RepairProposal.Publication publication)
extends Record
Reviewable Doctor repair proposal created in an isolated Git worktree.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final recordGuarded file change metadata.static final recordPublished draft pull-request details.static enumProposal lifecycle.static final recordValidation result with bounded diagnostics and populated Allure evidence. -
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRepairProposal(String schemaVersion, String proposalId, RepairProposal.Status status, String repositoryRoot, String baseSha, String branchName, String worktreePath, String issueReference, String diagnosisPath, String evidenceBundlePath, List<RepairProposal.PatchManifestEntry> patches, List<List<String>> validationPlan, List<RepairProposal.ValidationResult> validationResults, String unifiedDiff, String risk, String rollback, String approvalToken, String manifestPath, RepairProposal.Publication publication) Creates an instance of aRepairProposalrecord class. -
Method Summary
Modifier and TypeMethodDescriptionReturns the value of theapprovalTokenrecord component.baseSha()Returns the value of thebaseSharecord component.Returns the value of thebranchNamerecord component.Returns the value of thediagnosisPathrecord component.final booleanIndicates whether some other object is "equal to" this one.Returns the value of theevidenceBundlePathrecord component.final inthashCode()Returns a hash code value for this object.Returns the value of theissueReferencerecord component.Returns the value of themanifestPathrecord component.patches()Returns the value of thepatchesrecord component.Returns the value of theproposalIdrecord component.Returns the value of thepublicationrecord component.Returns the value of therepositoryRootrecord component.risk()Returns the value of theriskrecord component.rollback()Returns the value of therollbackrecord component.Returns the value of theschemaVersionrecord component.status()Returns the value of thestatusrecord component.final StringtoString()Returns a string representation of this record class.Returns the value of theunifiedDiffrecord component.booleanReturns whether every requested validation passed.Returns the value of thevalidationPlanrecord component.Returns the value of thevalidationResultsrecord component.Returns the value of theworktreePathrecord component.
-
Field Details
-
CURRENT_SCHEMA_VERSION
-
-
Constructor Details
-
RepairProposal
public RepairProposal(String schemaVersion, String proposalId, RepairProposal.Status status, String repositoryRoot, String baseSha, String branchName, String worktreePath, String issueReference, String diagnosisPath, String evidenceBundlePath, List<RepairProposal.PatchManifestEntry> patches, List<List<String>> validationPlan, List<RepairProposal.ValidationResult> validationResults, String unifiedDiff, String risk, String rollback, String approvalToken, String manifestPath, RepairProposal.Publication publication) Creates an instance of aRepairProposalrecord class.- Parameters:
schemaVersion- the value for theschemaVersionrecord componentproposalId- the value for theproposalIdrecord componentstatus- the value for thestatusrecord componentrepositoryRoot- the value for therepositoryRootrecord componentbaseSha- the value for thebaseSharecord componentbranchName- the value for thebranchNamerecord componentworktreePath- the value for theworktreePathrecord componentissueReference- the value for theissueReferencerecord componentdiagnosisPath- the value for thediagnosisPathrecord componentevidenceBundlePath- the value for theevidenceBundlePathrecord componentpatches- the value for thepatchesrecord componentvalidationPlan- the value for thevalidationPlanrecord componentvalidationResults- the value for thevalidationResultsrecord componentunifiedDiff- the value for theunifiedDiffrecord componentrisk- the value for theriskrecord componentrollback- the value for therollbackrecord componentapprovalToken- the value for theapprovalTokenrecord componentmanifestPath- the value for themanifestPathrecord componentpublication- the value for thepublicationrecord component
-
-
Method Details
-
validationPassed
public boolean validationPassed()Returns whether every requested validation passed.- Returns:
- true only when at least one validation ran and all passed
-
toString
-
hashCode
-
equals
Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared withObjects::equals(Object,Object). -
schemaVersion
Returns the value of theschemaVersionrecord component.- Returns:
- the value of the
schemaVersionrecord component
-
proposalId
Returns the value of theproposalIdrecord component.- Returns:
- the value of the
proposalIdrecord component
-
status
-
repositoryRoot
Returns the value of therepositoryRootrecord component.- Returns:
- the value of the
repositoryRootrecord component
-
baseSha
-
branchName
Returns the value of thebranchNamerecord component.- Returns:
- the value of the
branchNamerecord component
-
worktreePath
Returns the value of theworktreePathrecord component.- Returns:
- the value of the
worktreePathrecord component
-
issueReference
Returns the value of theissueReferencerecord component.- Returns:
- the value of the
issueReferencerecord component
-
diagnosisPath
Returns the value of thediagnosisPathrecord component.- Returns:
- the value of the
diagnosisPathrecord component
-
evidenceBundlePath
Returns the value of theevidenceBundlePathrecord component.- Returns:
- the value of the
evidenceBundlePathrecord component
-
patches
-
validationPlan
Returns the value of thevalidationPlanrecord component.- Returns:
- the value of the
validationPlanrecord component
-
validationResults
Returns the value of thevalidationResultsrecord component.- Returns:
- the value of the
validationResultsrecord component
-
unifiedDiff
Returns the value of theunifiedDiffrecord component.- Returns:
- the value of the
unifiedDiffrecord component
-
risk
-
rollback
-
approvalToken
Returns the value of theapprovalTokenrecord component.- Returns:
- the value of the
approvalTokenrecord component
-
manifestPath
Returns the value of themanifestPathrecord component.- Returns:
- the value of the
manifestPathrecord component
-
publication
Returns the value of thepublicationrecord component.- Returns:
- the value of the
publicationrecord component
-