Documentation
¶
Overview ¶
Package playwrightminimize plans bounded Playwright suite-interaction trials. The separate live profile requires explicit digest-bound execution approval.
Index ¶
- Constants
- func DecodeLiveRequest(data []byte, v any) error
- type Authorization
- type Baseline
- type Command
- type EvidenceRef
- type FailureClass
- type FailureObservation
- type Finding
- type FixedIdentity
- type Limits
- type LivePlan
- type LiveRequest
- type LiveTrialEvidence
- type MemberAssessment
- type ObservedFailure
- type Outcome
- type Plan
- type ProcessEvidence
- type Qualification
- type Report
- type Request
- type ResetPolicy
- type RunIdentity
- type Runner
- type RunnerFunc
- type Trial
- type TrialEvidence
- type TrialKind
- type TrialReceipt
- type TrialResult
- type WorkerTopology
Constants ¶
View Source
const LiveSchema = "corvint-playwright-suite-interaction-live/0"
View Source
const Schema = "corvint-playwright-suite-interaction/0"
Variables ¶
This section is empty.
Functions ¶
func DecodeLiveRequest ¶
DecodeLiveRequest rejects unknown fields and trailing JSON before any command.
Types ¶
type Authorization ¶
type Baseline ¶
type Baseline struct {
ReceiptDigest string `json:"receipt_digest"`
Identity RunIdentity `json:"identity"`
Outcome Outcome `json:"outcome"`
Failures []FailureObservation `json:"failures,omitempty"`
}
type Command ¶
type Command struct {
Argv []string `json:"argv"`
ExecutableSHA256 string `json:"executable_sha256"`
}
Command is operator-owned reset/cleanup code, pinned before authorization. Its successful exit is evidence of execution, not proof of reset semantics.
type EvidenceRef ¶
type FailureClass ¶
type FailureClass string
const ( FailureAssertion FailureClass = "assertion" FailureSynchronization FailureClass = "synchronization" FailureFixture FailureClass = "fixture" FailureProduct FailureClass = "product" FailureInfrastructure FailureClass = "infrastructure" FailureRestart FailureClass = "restart" FailureResourceExhaustion FailureClass = "resource-exhaustion" )
type FailureObservation ¶
type FailureObservation struct {
Class FailureClass `json:"class"`
EvidenceDigest string `json:"evidence_digest"`
Summary string `json:"summary"`
}
type FixedIdentity ¶
type FixedIdentity struct {
TestRevision string `json:"test_revision"`
ApplicationRevision string `json:"application_revision"`
ConfigDigest string `json:"config_digest"`
Runner string `json:"runner"`
RunnerVersion string `json:"runner_version"`
Browser string `json:"browser"`
BrowserVersion string `json:"browser_version"`
Project string `json:"project"`
FixtureSchema string `json:"fixture_schema"`
FixtureDigest string `json:"fixture_digest"`
SeedIdentity string `json:"seed_identity"`
ApplicationAttestationDigest string `json:"application_attestation_digest"`
}
type LivePlan ¶
type LivePlan struct {
Schema string `json:"schema"`
Input LiveRequest `json:"input"`
Plan Plan `json:"plan"`
Digest string `json:"digest"`
}
func LivePlanRequest ¶
func LivePlanRequest(ctx context.Context, input LiveRequest) (LivePlan, error)
type LiveRequest ¶
type LiveRequest struct {
Request Request `json:"request"`
Repository string `json:"repository"`
Corpus []byte `json:"corpus"`
StabilityIDs []string `json:"stability_ids"`
Original []byte `json:"original"`
Isolated []byte `json:"isolated"`
Config jstestprovider.E2EConfig `json:"config"`
Reset Command `json:"reset"`
Cleanup Command `json:"cleanup"`
}
type LiveTrialEvidence ¶
type LiveTrialEvidence struct {
ResetGeneration string `json:"reset_generation"`
Reset ProcessEvidence `json:"reset"`
Cleanup ProcessEvidence `json:"cleanup"`
Receipt jstestprovider.Receipt `json:"receipt"`
}
type MemberAssessment ¶
type ObservedFailure ¶
type ObservedFailure struct {
TrialID string `json:"trial_id"`
ReceiptDigest string `json:"receipt_digest"`
Observation FailureObservation `json:"observation"`
}
type Plan ¶
type Plan struct {
Schema string `json:"schema"`
Request Request `json:"request"`
Trials []Trial `json:"trials"`
OrderedComplete bool `json:"ordered_complete"`
LoadComplete bool `json:"load_complete"`
Complete bool `json:"complete"`
Blockers []string `json:"blockers,omitempty"`
Digest string `json:"digest"`
}
type ProcessEvidence ¶
type ProcessEvidence struct {
Descendants *procgroup.DescendantObservation `json:"descendants"`
Error string `json:"error,omitempty"`
Stdout []byte `json:"stdout"`
Stderr []byte `json:"stderr"`
Exit int `json:"exit"`
Started bool `json:"started"`
Completed bool `json:"completed"`
Cleanup bool `json:"cleanup"`
Cancelled bool `json:"cancelled"`
TimedOut bool `json:"timed_out"`
Overflow bool `json:"overflow"`
Usage *procgroup.ResourceUsage `json:"usage"`
}
type Qualification ¶
type Qualification struct {
RunnerQualified bool `json:"runner_qualified"`
RunnerReceiptDigest string `json:"runner_receipt_digest,omitempty"`
StabilityQualified bool `json:"stability_qualified"`
StabilityReceiptDigest string `json:"stability_receipt_digest,omitempty"`
ApplicationAttested bool `json:"application_attested"`
ApplicationReceiptDigest string `json:"application_receipt_digest,omitempty"`
}
type Report ¶
type Report struct {
Schema string `json:"schema"`
PlanDigest string `json:"plan_digest"`
Status string `json:"status"`
Diagnosis string `json:"diagnosis"`
Confident bool `json:"confident"`
Blockers []string `json:"blockers,omitempty"`
Trials []TrialResult `json:"trials"`
ObservedFailures []ObservedFailure `json:"observed_failures"`
Ordered *Finding `json:"ordered,omitempty"`
Load *Finding `json:"load,omitempty"`
Limitations []string `json:"limitations"`
}
type Request ¶
type Request struct {
Target string `json:"target"`
Predecessors []string `json:"predecessors"`
LoadMembers []string `json:"load_members"`
OriginalFailure Baseline `json:"original_failure"`
IsolatedPass Baseline `json:"isolated_pass"`
LoadTopology WorkerTopology `json:"load_topology"`
ResetPolicy ResetPolicy `json:"reset_policy"`
Limits Limits `json:"limits"`
Qualification Qualification `json:"qualification"`
}
type ResetPolicy ¶
type RunIdentity ¶
type RunIdentity struct {
Fixed FixedIdentity `json:"fixed"`
Order []string `json:"order"`
WorkerTopology WorkerTopology `json:"worker_topology"`
}
type RunnerFunc ¶
type RunnerFunc func(context.Context, Trial) (TrialReceipt, error)
func (RunnerFunc) Run ¶
func (f RunnerFunc) Run(ctx context.Context, trial Trial) (TrialReceipt, error)
type Trial ¶
type Trial struct {
ID string `json:"id"`
Ordinal int `json:"ordinal"`
CandidateID string `json:"candidate_id"`
Repetition int `json:"repetition"`
Kind TrialKind `json:"kind"`
Context []string `json:"context"`
Identity RunIdentity `json:"identity"`
ResetPolicy ResetPolicy `json:"reset_policy"`
}
type TrialEvidence ¶
type TrialEvidence struct {
Setup []EvidenceRef `json:"setup"`
PageAssertions []EvidenceRef `json:"page_assertions"`
Retries []EvidenceRef `json:"retries"`
Cleanup []EvidenceRef `json:"cleanup"`
ServerHealth []EvidenceRef `json:"server_health"`
Resources []EvidenceRef `json:"resources"`
}
type TrialReceipt ¶
type TrialReceipt struct {
Live *LiveTrialEvidence `json:"live,omitempty"`
Digest string `json:"digest"`
TrialID string `json:"trial_id"`
Identity RunIdentity `json:"identity"`
ResetPolicy ResetPolicy `json:"reset_policy"`
ResetSucceeded bool `json:"reset_succeeded"`
CleanupSucceeded bool `json:"cleanup_succeeded"`
ApplicationAttestationStart string `json:"application_attestation_start"`
ApplicationAttestationPublish string `json:"application_attestation_publish"`
Outcome Outcome `json:"outcome"`
Evidence TrialEvidence `json:"evidence"`
Failures []FailureObservation `json:"failures,omitempty"`
}
type TrialResult ¶
type TrialResult struct {
Trial Trial `json:"trial"`
Receipt *TrialReceipt `json:"receipt,omitempty"`
Valid bool `json:"valid"`
InvalidReasons []string `json:"invalid_reasons,omitempty"`
ExecutionError string `json:"execution_error,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.