# internal/core/acceptance

Package acceptance evaluates criterion evidence against expected result kinds.

## ExpectedExitCodeZero

```go
const (
	// ExpectedExitCodeZero passes when the command exits with code 0.
	ExpectedExitCodeZero ExpectedKind = "exit_code_zero"
	// ExpectedExitCodeNonzero passes when the command exits with a non-zero code.
	ExpectedExitCodeNonzero ExpectedKind = "exit_code_nonzero"
	// ExpectedNoMatches passes when the captured output is empty.
	ExpectedNoMatches ExpectedKind = "no_matches"
	// ExpectedManual marks a criterion that requires human evidence.
	ExpectedManual ExpectedKind = "manual"
	// ExpectedBrowserEvidence passes when a browser command exits cleanly and emits a valid browser evidence packet.
	ExpectedBrowserEvidence ExpectedKind = "browser_evidence"
)
```

## ExpectedExitCodeNonzero

```go
const (
	// ExpectedExitCodeZero passes when the command exits with code 0.
	ExpectedExitCodeZero ExpectedKind = "exit_code_zero"
	// ExpectedExitCodeNonzero passes when the command exits with a non-zero code.
	ExpectedExitCodeNonzero ExpectedKind = "exit_code_nonzero"
	// ExpectedNoMatches passes when the captured output is empty.
	ExpectedNoMatches ExpectedKind = "no_matches"
	// ExpectedManual marks a criterion that requires human evidence.
	ExpectedManual ExpectedKind = "manual"
	// ExpectedBrowserEvidence passes when a browser command exits cleanly and emits a valid browser evidence packet.
	ExpectedBrowserEvidence ExpectedKind = "browser_evidence"
)
```

## ExpectedNoMatches

```go
const (
	// ExpectedExitCodeZero passes when the command exits with code 0.
	ExpectedExitCodeZero ExpectedKind = "exit_code_zero"
	// ExpectedExitCodeNonzero passes when the command exits with a non-zero code.
	ExpectedExitCodeNonzero ExpectedKind = "exit_code_nonzero"
	// ExpectedNoMatches passes when the captured output is empty.
	ExpectedNoMatches ExpectedKind = "no_matches"
	// ExpectedManual marks a criterion that requires human evidence.
	ExpectedManual ExpectedKind = "manual"
	// ExpectedBrowserEvidence passes when a browser command exits cleanly and emits a valid browser evidence packet.
	ExpectedBrowserEvidence ExpectedKind = "browser_evidence"
)
```

## ExpectedManual

```go
const (
	// ExpectedExitCodeZero passes when the command exits with code 0.
	ExpectedExitCodeZero ExpectedKind = "exit_code_zero"
	// ExpectedExitCodeNonzero passes when the command exits with a non-zero code.
	ExpectedExitCodeNonzero ExpectedKind = "exit_code_nonzero"
	// ExpectedNoMatches passes when the captured output is empty.
	ExpectedNoMatches ExpectedKind = "no_matches"
	// ExpectedManual marks a criterion that requires human evidence.
	ExpectedManual ExpectedKind = "manual"
	// ExpectedBrowserEvidence passes when a browser command exits cleanly and emits a valid browser evidence packet.
	ExpectedBrowserEvidence ExpectedKind = "browser_evidence"
)
```

## ExpectedBrowserEvidence

```go
const (
	// ExpectedExitCodeZero passes when the command exits with code 0.
	ExpectedExitCodeZero ExpectedKind = "exit_code_zero"
	// ExpectedExitCodeNonzero passes when the command exits with a non-zero code.
	ExpectedExitCodeNonzero ExpectedKind = "exit_code_nonzero"
	// ExpectedNoMatches passes when the captured output is empty.
	ExpectedNoMatches ExpectedKind = "no_matches"
	// ExpectedManual marks a criterion that requires human evidence.
	ExpectedManual ExpectedKind = "manual"
	// ExpectedBrowserEvidence passes when a browser command exits cleanly and emits a valid browser evidence packet.
	ExpectedBrowserEvidence ExpectedKind = "browser_evidence"
)
```

## Evaluate

```go
func Evaluate(kind ExpectedKind, evidence Evidence) Result
```

Evaluate compares evidence with the requested expected kind.

## ExpectedKindValues

```go
func ExpectedKindValues() []ExpectedKind
```

ExpectedKindValues returns the supported expected\_kind values in display order.

## ValidExpectedKind

```go
func ValidExpectedKind(kind ExpectedKind) bool
```

ValidExpectedKind reports whether kind is supported by the evaluator.

## Evidence

```go
type Evidence struct {
	ExitCode   int
	Output     string
	Command    string
	Diagnostic string
}
```

Evidence is the command output used to evaluate an acceptance criterion.

- `ExitCode: int`: 
- `Output: string`: 
- `Command: string`: 
- `Diagnostic: string`: 

## ExpectedKind

```go
type ExpectedKind string
```

ExpectedKind names the machine-checkable expectation for criterion evidence.

## Result

```go
type Result struct {
	Status string
	Reason string
}
```

Result is the normalized pass/fail/pending outcome for criterion evidence.

- `Status: string`: 
- `Reason: string`:
