Readonlystate state : { id : string ; schemaVersion : "v1" ; phase : | "READY" | "TICKET" | "PLAN" | "PLAN_REVIEW" | "VALIDATION" | "IMPLEMENTATION" | "IMPL_REVIEW" | "EVIDENCE_REVIEW" | "COMPLETE" | "ARCHITECTURE" | "ARCH_REVIEW" | "ARCH_COMPLETE" | "REVIEW" | "REVIEW_COMPLETE" ; binding : Readonly < { sessionId : string ; worktree : string ; fingerprint : string ; resolvedAt : string ; } , > ; ticket : | Readonly < { text : string ; digest : string ; source : "user" | "external" ; createdAt : string ; inputOrigin ?: | "manual_text" | "external_reference" | "mixed" | "workspace" | "branch" | "pr" | "unknown" ; references ?: Readonly < { ref : string ; type ?: | "branch" | "pr" | "ticket" | "issue" | "commit" | "url" | "doc" | "other" ; title ?: string ; source ?: string ; extractedAt ?: string ; } , > [] ; } , > | null ; architecture : | Readonly < { id : string ; title : string ; adrText : string ; status : "proposed" | "accepted" | "deprecated" ; createdAt : string ; digest : string ; reviewFindings ?: Readonly < { iteration : number ; planVersion : number ; reviewMode : "subagent" | "self" ; overallVerdict : "approve" | "changes_requested" | "unable_to_review" ; blockingIssues : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; majorRisks : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; missingVerification : string [] ; scopeCreep : string [] ; unknowns : string [] ; reviewedBy : Readonly < { sessionId : string ; actorId ?: (...) | (...); actorSource ?: (...) | (...) | (...) | (...) | (...); actorAssurance ?: (...) | (...) | (...) | (...); } , > ; reviewedAt : string ; attestation ?: Readonly < { mandateDigest : ...; criteriaVersion : ...; toolObligationId : ...; iteration : ...; planVersion : ...; reviewedBy : ...; } , > ; } , > [] ; } , > | null ; plan : | Readonly < { current : { body : string ; digest : string ; sections : string [] ; createdAt : string ; } ; history : { body : string ; digest : string ; sections : string [] ; createdAt : string ; } [] ; reviewFindings ?: Readonly < { iteration : number ; planVersion : number ; reviewMode : "subagent" | "self" ; overallVerdict : "approve" | "changes_requested" | "unable_to_review" ; blockingIssues : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; majorRisks : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; missingVerification : string [] ; scopeCreep : string [] ; unknowns : string [] ; reviewedBy : Readonly < { sessionId : string ; actorId ?: (...) | (...); actorSource ?: (...) | (...) | (...) | (...) | (...); actorAssurance ?: (...) | (...) | (...) | (...); } , > ; reviewedAt : string ; attestation ?: Readonly < { mandateDigest : ...; criteriaVersion : ...; toolObligationId : ...; iteration : ...; planVersion : ...; reviewedBy : ...; } , > ; } , > [] ; } , > | null ; selfReview : | { iteration : number ; maxIterations : number ; prevDigest : string | null ; currDigest : string ; revisionDelta : "none" | "minor" | "major" ; verdict : "approve" | "changes_requested" | "unable_to_review" ; } | null ; validation : Readonly < { checkId : string ; passed : boolean ; detail : string ; executedAt : string ; evidenceType ?: | "external_reference" | "command_output" | "ci_run" | "manual_review" ; command ?: string ; evidenceSummary ?: string ; } , > [] ; implementation : | Readonly < { changedFiles : string [] ; domainFiles : string [] ; digest : string ; executedAt : string ; } , > | null ; implReview : | Readonly < { iteration : number ; maxIterations : number ; prevDigest : string | null ; currDigest : string ; revisionDelta : "none" | "minor" | "major" ; verdict : "approve" | "changes_requested" | "unable_to_review" ; executedAt : string ; } , > | null ; implReviewFindings ?: Readonly < { iteration : number ; planVersion : number ; reviewMode : "subagent" | "self" ; overallVerdict : "approve" | "changes_requested" | "unable_to_review" ; blockingIssues : Readonly < { severity : "minor" | "major" | "critical" ; category : | "completeness" | "correctness" | "feasibility" | "risk" | "quality" ; message : string ; location ?: string ; } , > [] ; majorRisks : Readonly < { severity : "minor" | "major" | "critical" ; category : | "completeness" | "correctness" | "feasibility" | "risk" | "quality" ; message : string ; location ?: string ; } , > [] ; missingVerification : string [] ; scopeCreep : string [] ; unknowns : string [] ; reviewedBy : Readonly < { sessionId : string ; actorId ?: string ; actorSource ?: "unknown" | "env" | "git" | "claim" ; actorAssurance ?: "best_effort" | "claim_validated" | "idp_verified" ; } , > ; reviewedAt : string ; attestation ?: Readonly < { mandateDigest : string ; criteriaVersion : string ; toolObligationId : string ; iteration : number ; planVersion : number ; reviewedBy : "flowguard-reviewer" ; } , > ; } , > [] ; reviewAssurance ?: Readonly < { obligations : { obligationId : string ; obligationType : "plan" | "implement" | "architecture" | "review" ; iteration : number ; planVersion : number ; criteriaVersion : string ; mandateDigest : string ; createdAt : string ; pluginHandshakeAt : string | null ; status : "pending" | "fulfilled" | "consumed" | "blocked" ; invocationId : string | null ; blockedCode : string | null ; fulfilledAt : string | null ; consumedAt : string | null ; metadata ?: Record < string , unknown > ; } [] ; invocations : Readonly < { invocationId : string ; obligationId : string ; obligationType : "plan" | "implement" | "architecture" | "review" ; parentSessionId : string ; childSessionId : string ; agentType : "flowguard-reviewer" ; invocationMode : | "host_subagent_task" | "sdk_session_prompt" | "manual_attested" ; hostVisible : boolean ; promptHash : string ; mandateDigest : string ; criteriaVersion : string ; findingsHash : string ; invokedAt : string ; fulfilledAt : string | null ; consumedByObligationId : string | null ; capturedVerdict ?: string ; capturedRawFindings ?: Record < string , unknown > ; source ?: "host-orchestrated" | "agent-submitted-attested" ; reviewOutputMode : "structured_output" | "text_compat" ; structuredOutputUsed : boolean ; reviewAssuranceLevel : "structured_high" | "text_compat_lower" ; extractionMethod ?: "direct_json" | "json_fence" | "outermost_braces" ; modelCapabilityError ?: string ; } , > [] ; } , > ; reviewDecision : | Readonly < { verdict : "approve" | "changes_requested" | "reject" ; rationale : string ; decidedAt : string ; decidedBy : string ; decisionIdentity ?: Readonly < { actorId : string ; actorEmail : string | null ; actorDisplayName ?: string | null ; actorSource : "unknown" | "env" | "git" | "claim" | "oidc" ; actorAssurance : "best_effort" | "claim_validated" | "idp_verified" ; } , > ; } , > | null ; reviewReportPath : string | null ; nextAdrNumber : number ; activeProfile : | { id : string ; name : string ; ruleContent : string ; phaseRuleContent ?: Record < string , string > ; } | null ; activeChecks : string [] ; policySnapshot : Readonly < { mode : string ; hash : string ; resolvedAt : string ; requestedMode : string ; source ?: "default" | "explicit" | "central" | "repo" ; effectiveGateBehavior : "auto_approve" | "human_gated" ; degradedReason ?: string ; resolutionReason ?: string ; centralMinimumMode ?: "solo" | "team" | "regulated" ; policyDigest ?: string ; policyVersion ?: string ; policyPathHint ?: string ; requireHumanGates : boolean ; maxSelfReviewIterations : number ; maxImplReviewIterations : number ; allowSelfApproval : boolean ; minimumActorAssuranceForApproval : | "best_effort" | "claim_validated" | "idp_verified" ; requireVerifiedActorsForApproval : boolean ; identityProvider ?: | { issuer : string ; audience : string [] ; claimMapping : { subjectClaim : string ; emailClaim : string ; nameClaim : string ; } ; mode : "static" ; signingKeys : ( | { kind : "jwk" ; kid : string ; alg : "RS256" | "ES256" ; jwk : | { kty : "RSA" ; n : string ; e : string } | { kty : "EC" ; x : string ; y : string ; crv : string } ; } | { kind : "pem" ; kid : string ; alg : "RS256" | "ES256" ; pem : string } )[] ; } | { issuer : string ; audience : string [] ; claimMapping : { subjectClaim : string ; emailClaim : string ; nameClaim : string ; } ; mode : "jwks" ; jwksPath ?: string ; jwksUri ?: string ; cacheTtlSeconds : number ; } ; identityProviderMode : "optional" | "required" ; selfReview ?: { subagentEnabled : boolean ; fallbackToSelf : boolean ; strictEnforcement : boolean ; } ; reviewOutputPolicy ?: "structured_required" | "text_compat_allowed" ; reviewInvocationPolicy ?: | "host_task_required" | "host_task_preferred" | "sdk_allowed" ; audit : { emitTransitions : boolean ; emitToolCalls : boolean ; enableChainHash : boolean ; } ; actorClassification : Record < string , string > ; } , > ; initiatedBy : string ; initiatedByIdentity ?: Readonly < { actorId : string ; actorEmail : string | null ; actorDisplayName ?: string | null ; actorSource : "unknown" | "env" | "git" | "claim" | "oidc" ; actorAssurance : "best_effort" | "claim_validated" | "idp_verified" ; } , > ; actorInfo ?: Readonly < { id : string ; email : string | null ; displayName ?: string | null ; source : "unknown" | "env" | "git" | "claim" | "oidc" ; assurance : "best_effort" | "claim_validated" | "idp_verified" ; verificationMeta ?: Readonly < { issuer : string ; audience : string [] ; keyId : string ; algorithm : string ; verifiedAt : string ; } , > ; } , > ; discoveryDigest ?: string | null ; discoverySummary ?: | { primaryLanguages : string [] ; frameworks : string [] ; topologyKind : "unknown" | "monorepo" | "single-project" ; moduleCount : number ; hasApiSurface : boolean ; hasPersistenceSurface : boolean ; hasCiCd : boolean ; hasSecuritySurface : boolean ; codeSurfaceStatus ?: "failed" | "ok" | "partial" ; apiEndpointCount ?: number ; hasAuthBoundary ?: boolean ; } | null ; detectedStack ?: | { summary : string ; items : { kind : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; id : string ; version ?: string ; evidence ?: string ; } [] ; versions : { id : string ; version : string ; target : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; evidence ?: string ; } [] ; targets ?: { kind : "compilerTarget" ; id : string ; value : string ; evidence ?: string ; } [] ; scopes ?: { path : string ; summary ?: string ; items : { kind : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; id : string ; version ?: string ; evidence ?: string ; } [] ; versions : { id : string ; version : string ; target : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; evidence ?: string ; } [] ; } [] ; } | null ; verificationCandidates ?: { kind : | "format" | "build" | "test" | "lint" | "typecheck" | "security" | "coverage" ; command : string ; source : string ; confidence : "high" | "medium" | "low" ; reason : string ; } [] ; transition : | { from : | "READY" | "TICKET" | "PLAN" | "PLAN_REVIEW" | "VALIDATION" | "IMPLEMENTATION" | "IMPL_REVIEW" | "EVIDENCE_REVIEW" | "COMPLETE" | "ARCHITECTURE" | "ARCH_REVIEW" | "ARCH_COMPLETE" | "REVIEW" | "REVIEW_COMPLETE" ; to : | "READY" | "TICKET" | "PLAN" | "PLAN_REVIEW" | "VALIDATION" | "IMPLEMENTATION" | "IMPL_REVIEW" | "EVIDENCE_REVIEW" | "COMPLETE" | "ARCHITECTURE" | "ARCH_REVIEW" | "ARCH_COMPLETE" | "REVIEW" | "REVIEW_COMPLETE" ; event : | "TICKET_SELECTED" | "ARCHITECTURE_SELECTED" | "REVIEW_SELECTED" | "PLAN_READY" | "SELF_REVIEW_MET" | "SELF_REVIEW_PENDING" | "APPROVE" | "CHANGES_REQUESTED" | "REJECT" | "ALL_PASSED" | "CHECK_FAILED" | "IMPL_COMPLETE" | "REVIEW_MET" | "REVIEW_PENDING" | "REVIEW_DONE" | "ERROR" | "ABORT" ; at : string ; } | null ; error : | Readonly < { code : string ; message : string ; recoveryHint : string ; occurredAt : string ; } , > | null ; createdAt : string ; archiveStatus ?: "pending" | "verified" | "failed" | "created" | null ; }
Type Declaration id : string schemaVersion : "v1" phase : | "READY" | "TICKET" | "PLAN" | "PLAN_REVIEW" | "VALIDATION" | "IMPLEMENTATION" | "IMPL_REVIEW" | "EVIDENCE_REVIEW" | "COMPLETE" | "ARCHITECTURE" | "ARCH_REVIEW" | "ARCH_COMPLETE" | "REVIEW" | "REVIEW_COMPLETE" binding : Readonly < { sessionId : string ; worktree : string ; fingerprint : string ; resolvedAt : string ; } , > ticket : | Readonly < { text : string ; digest : string ; source : "user" | "external" ; createdAt : string ; inputOrigin ?: | "manual_text" | "external_reference" | "mixed" | "workspace" | "branch" | "pr" | "unknown" ; references ?: Readonly < { ref : string ; type ?: | "branch" | "pr" | "ticket" | "issue" | "commit" | "url" | "doc" | "other" ; title ?: string ; source ?: string ; extractedAt ?: string ; } , > [] ; } , > | null architecture : | Readonly < { id : string ; title : string ; adrText : string ; status : "proposed" | "accepted" | "deprecated" ; createdAt : string ; digest : string ; reviewFindings ?: Readonly < { iteration : number ; planVersion : number ; reviewMode : "subagent" | "self" ; overallVerdict : "approve" | "changes_requested" | "unable_to_review" ; blockingIssues : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; majorRisks : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; missingVerification : string [] ; scopeCreep : string [] ; unknowns : string [] ; reviewedBy : Readonly < { sessionId : string ; actorId ?: (...) | (...); actorSource ?: (...) | (...) | (...) | (...) | (...); actorAssurance ?: (...) | (...) | (...) | (...); } , > ; reviewedAt : string ; attestation ?: Readonly < { mandateDigest : ...; criteriaVersion : ...; toolObligationId : ...; iteration : ...; planVersion : ...; reviewedBy : ...; } , > ; } , > [] ; } , > | null plan : | Readonly < { current : { body : string ; digest : string ; sections : string [] ; createdAt : string ; } ; history : { body : string ; digest : string ; sections : string [] ; createdAt : string ; } [] ; reviewFindings ?: Readonly < { iteration : number ; planVersion : number ; reviewMode : "subagent" | "self" ; overallVerdict : "approve" | "changes_requested" | "unable_to_review" ; blockingIssues : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; majorRisks : Readonly < { severity : ...; category : ...; message : ...; location ?: ... } , > [] ; missingVerification : string [] ; scopeCreep : string [] ; unknowns : string [] ; reviewedBy : Readonly < { sessionId : string ; actorId ?: (...) | (...); actorSource ?: (...) | (...) | (...) | (...) | (...); actorAssurance ?: (...) | (...) | (...) | (...); } , > ; reviewedAt : string ; attestation ?: Readonly < { mandateDigest : ...; criteriaVersion : ...; toolObligationId : ...; iteration : ...; planVersion : ...; reviewedBy : ...; } , > ; } , > [] ; } , > | null selfReview : | { iteration : number ; maxIterations : number ; prevDigest : string | null ; currDigest : string ; revisionDelta : "none" | "minor" | "major" ; verdict : "approve" | "changes_requested" | "unable_to_review" ; } | null validation : Readonly < { checkId : string ; passed : boolean ; detail : string ; executedAt : string ; evidenceType ?: | "external_reference" | "command_output" | "ci_run" | "manual_review" ; command ?: string ; evidenceSummary ?: string ; } , > [] implementation : | Readonly < { changedFiles : string [] ; domainFiles : string [] ; digest : string ; executedAt : string ; } , > | null implReview : | Readonly < { iteration : number ; maxIterations : number ; prevDigest : string | null ; currDigest : string ; revisionDelta : "none" | "minor" | "major" ; verdict : "approve" | "changes_requested" | "unable_to_review" ; executedAt : string ; } , > | null OptionalimplReviewFindings ?: Readonly < { iteration : number ; planVersion : number ; reviewMode : "subagent" | "self" ; overallVerdict : "approve" | "changes_requested" | "unable_to_review" ; blockingIssues : Readonly < { severity : "minor" | "major" | "critical" ; category : | "completeness" | "correctness" | "feasibility" | "risk" | "quality" ; message : string ; location ?: string ; } , > [] ; majorRisks : Readonly < { severity : "minor" | "major" | "critical" ; category : | "completeness" | "correctness" | "feasibility" | "risk" | "quality" ; message : string ; location ?: string ; } , > [] ; missingVerification : string [] ; scopeCreep : string [] ; unknowns : string [] ; reviewedBy : Readonly < { sessionId : string ; actorId ?: string ; actorSource ?: "unknown" | "env" | "git" | "claim" ; actorAssurance ?: "best_effort" | "claim_validated" | "idp_verified" ; } , > ; reviewedAt : string ; attestation ?: Readonly < { mandateDigest : string ; criteriaVersion : string ; toolObligationId : string ; iteration : number ; planVersion : number ; reviewedBy : "flowguard-reviewer" ; } , > ; } , > [] OptionalreviewAssurance ?: Readonly < { obligations : { obligationId : string ; obligationType : "plan" | "implement" | "architecture" | "review" ; iteration : number ; planVersion : number ; criteriaVersion : string ; mandateDigest : string ; createdAt : string ; pluginHandshakeAt : string | null ; status : "pending" | "fulfilled" | "consumed" | "blocked" ; invocationId : string | null ; blockedCode : string | null ; fulfilledAt : string | null ; consumedAt : string | null ; metadata ?: Record < string , unknown > ; } [] ; invocations : Readonly < { invocationId : string ; obligationId : string ; obligationType : "plan" | "implement" | "architecture" | "review" ; parentSessionId : string ; childSessionId : string ; agentType : "flowguard-reviewer" ; invocationMode : | "host_subagent_task" | "sdk_session_prompt" | "manual_attested" ; hostVisible : boolean ; promptHash : string ; mandateDigest : string ; criteriaVersion : string ; findingsHash : string ; invokedAt : string ; fulfilledAt : string | null ; consumedByObligationId : string | null ; capturedVerdict ?: string ; capturedRawFindings ?: Record < string , unknown > ; source ?: "host-orchestrated" | "agent-submitted-attested" ; reviewOutputMode : "structured_output" | "text_compat" ; structuredOutputUsed : boolean ; reviewAssuranceLevel : "structured_high" | "text_compat_lower" ; extractionMethod ?: "direct_json" | "json_fence" | "outermost_braces" ; modelCapabilityError ?: string ; } , > [] ; } , > reviewDecision : | Readonly < { verdict : "approve" | "changes_requested" | "reject" ; rationale : string ; decidedAt : string ; decidedBy : string ; decisionIdentity ?: Readonly < { actorId : string ; actorEmail : string | null ; actorDisplayName ?: string | null ; actorSource : "unknown" | "env" | "git" | "claim" | "oidc" ; actorAssurance : "best_effort" | "claim_validated" | "idp_verified" ; } , > ; } , > | null reviewReportPath : string | null nextAdrNumber : number activeProfile : | { id : string ; name : string ; ruleContent : string ; phaseRuleContent ?: Record < string , string > ; } | null activeChecks : string [] policySnapshot : Readonly < { mode : string ; hash : string ; resolvedAt : string ; requestedMode : string ; source ?: "default" | "explicit" | "central" | "repo" ; effectiveGateBehavior : "auto_approve" | "human_gated" ; degradedReason ?: string ; resolutionReason ?: string ; centralMinimumMode ?: "solo" | "team" | "regulated" ; policyDigest ?: string ; policyVersion ?: string ; policyPathHint ?: string ; requireHumanGates : boolean ; maxSelfReviewIterations : number ; maxImplReviewIterations : number ; allowSelfApproval : boolean ; minimumActorAssuranceForApproval : | "best_effort" | "claim_validated" | "idp_verified" ; requireVerifiedActorsForApproval : boolean ; identityProvider ?: | { issuer : string ; audience : string [] ; claimMapping : { subjectClaim : string ; emailClaim : string ; nameClaim : string ; } ; mode : "static" ; signingKeys : ( | { kind : "jwk" ; kid : string ; alg : "RS256" | "ES256" ; jwk : | { kty : "RSA" ; n : string ; e : string } | { kty : "EC" ; x : string ; y : string ; crv : string } ; } | { kind : "pem" ; kid : string ; alg : "RS256" | "ES256" ; pem : string } )[] ; } | { issuer : string ; audience : string [] ; claimMapping : { subjectClaim : string ; emailClaim : string ; nameClaim : string ; } ; mode : "jwks" ; jwksPath ?: string ; jwksUri ?: string ; cacheTtlSeconds : number ; } ; identityProviderMode : "optional" | "required" ; selfReview ?: { subagentEnabled : boolean ; fallbackToSelf : boolean ; strictEnforcement : boolean ; } ; reviewOutputPolicy ?: "structured_required" | "text_compat_allowed" ; reviewInvocationPolicy ?: | "host_task_required" | "host_task_preferred" | "sdk_allowed" ; audit : { emitTransitions : boolean ; emitToolCalls : boolean ; enableChainHash : boolean ; } ; actorClassification : Record < string , string > ; } , > initiatedBy : string OptionalinitiatedByIdentity ?: Readonly < { actorId : string ; actorEmail : string | null ; actorDisplayName ?: string | null ; actorSource : "unknown" | "env" | "git" | "claim" | "oidc" ; actorAssurance : "best_effort" | "claim_validated" | "idp_verified" ; } , > OptionalactorInfo ?: Readonly < { id : string ; email : string | null ; displayName ?: string | null ; source : "unknown" | "env" | "git" | "claim" | "oidc" ; assurance : "best_effort" | "claim_validated" | "idp_verified" ; verificationMeta ?: Readonly < { issuer : string ; audience : string [] ; keyId : string ; algorithm : string ; verifiedAt : string ; } , > ; } , > OptionaldiscoveryDigest ?: string | null OptionaldiscoverySummary ?: | { primaryLanguages : string [] ; frameworks : string [] ; topologyKind : "unknown" | "monorepo" | "single-project" ; moduleCount : number ; hasApiSurface : boolean ; hasPersistenceSurface : boolean ; hasCiCd : boolean ; hasSecuritySurface : boolean ; codeSurfaceStatus ?: "failed" | "ok" | "partial" ; apiEndpointCount ?: number ; hasAuthBoundary ?: boolean ; } | null OptionaldetectedStack ?: | { summary : string ; items : { kind : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; id : string ; version ?: string ; evidence ?: string ; } [] ; versions : { id : string ; version : string ; target : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; evidence ?: string ; } [] ; targets ?: { kind : "compilerTarget" ; id : string ; value : string ; evidence ?: string ; } [] ; scopes ?: { path : string ; summary ?: string ; items : { kind : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; id : string ; version ?: string ; evidence ?: string ; } [] ; versions : { id : string ; version : string ; target : | "language" | "framework" | "runtime" | "buildTool" | "tool" | "testFramework" | "qualityTool" | "database" ; evidence ?: string ; } [] ; } [] ; } | null OptionalverificationCandidates ?: { kind : | "format" | "build" | "test" | "lint" | "typecheck" | "security" | "coverage" ; command : string ; source : string ; confidence : "high" | "medium" | "low" ; reason : string ; } [] transition : | { from : | "READY" | "TICKET" | "PLAN" | "PLAN_REVIEW" | "VALIDATION" | "IMPLEMENTATION" | "IMPL_REVIEW" | "EVIDENCE_REVIEW" | "COMPLETE" | "ARCHITECTURE" | "ARCH_REVIEW" | "ARCH_COMPLETE" | "REVIEW" | "REVIEW_COMPLETE" ; to : | "READY" | "TICKET" | "PLAN" | "PLAN_REVIEW" | "VALIDATION" | "IMPLEMENTATION" | "IMPL_REVIEW" | "EVIDENCE_REVIEW" | "COMPLETE" | "ARCHITECTURE" | "ARCH_REVIEW" | "ARCH_COMPLETE" | "REVIEW" | "REVIEW_COMPLETE" ; event : | "TICKET_SELECTED" | "ARCHITECTURE_SELECTED" | "REVIEW_SELECTED" | "PLAN_READY" | "SELF_REVIEW_MET" | "SELF_REVIEW_PENDING" | "APPROVE" | "CHANGES_REQUESTED" | "REJECT" | "ALL_PASSED" | "CHECK_FAILED" | "IMPL_COMPLETE" | "REVIEW_MET" | "REVIEW_PENDING" | "REVIEW_DONE" | "ERROR" | "ABORT" ; at : string ; } | null error : | Readonly < { code : string ; message : string ; recoveryHint : string ; occurredAt : string ; } , > | null createdAt : string OptionalarchiveStatus ?: "pending" | "verified" | "failed" | "created" | null
Rail succeeded — state was mutated, evaluation was performed.