Documentation
¶
Index ¶
- Constants
- func Delete(repo, runID string) error
- func Save(repo string, run Run) error
- func SaveLocked(repo string, run Run) error
- func ValidRunID(runID string) bool
- func WithLock(repo string, fn func() error) error
- type AuditPackage
- type CheckEvidenceAudit
- type Context
- type Lint
- type MissionInput
- type MissionSnapshot
- type Program
- type ProgramInput
- type ProgramMissionInput
- type ProgramMissionState
- type RemediationAudit
- type Run
- type Status
Constants ¶
View Source
const CurrentSchemaVersion = "1"
Variables ¶
This section is empty.
Functions ¶
func SaveLocked ¶
SaveLocked persists one run while the caller holds WithLock. It is exposed within the internal module so workspace operations can hold one lock across their Git and runstate critical section without recursive file locking.
func ValidRunID ¶
Types ¶
type AuditPackage ¶
type AuditPackage struct {
Objective string `json:"objective"`
DiffDigest string `json:"diff_digest"`
Verdict string `json:"verdict"`
EvidenceDigest string `json:"evidence_digest"`
ReceiptRef string `json:"receipt_ref,omitempty"`
Iterations int `json:"iterations"`
Warnings []string `json:"warnings"`
CheckEvidence []CheckEvidenceAudit `json:"check_evidence,omitempty"`
Remediations []RemediationAudit `json:"remediations,omitempty"`
}
type CheckEvidenceAudit ¶
type CheckEvidenceAudit struct {
Check string `json:"check"`
Status string `json:"status"`
Repository string `json:"repository,omitempty"`
RunID string `json:"run_id,omitempty"`
JobID string `json:"job_id,omitempty"`
LogDigest string `json:"log_digest,omitempty"`
LogTruncated bool `json:"log_truncated,omitempty"`
AnnotationPath []string `json:"annotation_paths,omitempty"`
EvidenceDigest string `json:"evidence_digest"`
}
type MissionInput ¶
type MissionInput struct {
Objective string `json:"objective"`
Context Context `json:"context,omitempty"`
AcceptanceCriteria []string `json:"acceptance_criteria,omitempty"`
VerificationCommands [][]string `json:"verification_commands,omitempty"`
AllowedPaths []string `json:"allowed_paths,omitempty"`
ForbiddenPaths []string `json:"forbidden_paths,omitempty"`
RiskHint string `json:"risk_hint,omitempty"`
Program *ProgramInput `json:"program,omitempty"`
}
MissionInput is the persisted shape of the input used to compile a mission. It lives in runstate so the on-disk contract does not depend on a capability.
type MissionSnapshot ¶
type MissionSnapshot struct {
MissionID string `json:"mission_id"`
Ceremony string `json:"ceremony"`
Objective string `json:"objective"`
AcceptanceCriteria []string `json:"acceptance_criteria"`
VerificationCommands [][]string `json:"verification_commands"`
AllowedPaths []string `json:"allowed_paths"`
ForbiddenPaths []string `json:"forbidden_paths"`
Risk string `json:"risk"`
Lint []Lint `json:"lint"`
Program *Program `json:"program,omitempty"`
}
type ProgramInput ¶
type ProgramInput struct {
OpenQuestions []string `json:"open_questions"`
Missions []ProgramMissionInput `json:"missions"`
DeliverAtEnd bool `json:"deliver_at_end,omitempty"`
}
type ProgramMissionInput ¶
type ProgramMissionInput struct {
Objective string `json:"objective"`
Context Context `json:"context,omitempty"`
AcceptanceCriteria []string `json:"acceptance_criteria,omitempty"`
VerificationCommands [][]string `json:"verification_commands,omitempty"`
AllowedPaths []string `json:"allowed_paths,omitempty"`
ForbiddenPaths []string `json:"forbidden_paths,omitempty"`
RiskHint string `json:"risk_hint,omitempty"`
After []int `json:"after,omitempty"`
}
type ProgramMissionState ¶
type ProgramMissionState struct {
Index int `json:"index"`
Status string `json:"status"`
Iterations int `json:"iterations"`
Audit *AuditPackage `json:"audit,omitempty"`
Warnings []string `json:"warnings,omitempty"`
}
type RemediationAudit ¶
type Run ¶
type Run struct {
SchemaVersion string `json:"schema_version"`
RunID string `json:"run_id"`
MissionID string `json:"mission_id"`
MissionInput MissionInput `json:"mission_input"`
Mission MissionSnapshot `json:"mission"`
Status Status `json:"status"`
CreatedAt time.Time `json:"created_at"`
BaseSHA string `json:"base_sha"`
Branch string `json:"branch"`
Worktree string `json:"worktree"`
ReviewedDigest string `json:"reviewed_digest,omitempty"`
ReviewedAt time.Time `json:"reviewed_at,omitempty"`
AppliedCommit string `json:"applied_commit,omitempty"`
ArchivePatch string `json:"archive_patch,omitempty"`
ArchiveDigest string `json:"archive_digest,omitempty"`
ProgramID string `json:"program_id,omitempty"`
ProgramMissionIDs []string `json:"program_mission_ids,omitempty"`
ProgramCursor int `json:"program_cursor,omitempty"`
ProgramEscalated []int `json:"program_escalated,omitempty"`
ProgramMissions []ProgramMissionState `json:"program_missions,omitempty"`
Audit *AuditPackage `json:"audit,omitempty"`
}
func (*Run) Transition ¶
Click to show internal directories.
Click to hide internal directories.