# Existing-corpus regression gate

Owner amendment, 2026-09-09: the owner has no additional source documents beyond
`invoice-skill-build` and approved replacing the fresh-document acceptance gate
with regression using those existing documents, followed by deployment if the
checks pass. This supersedes the fresh-source prerequisite in
[the acceptance preparation](persistence-acceptance-preparation-260909.md).

The documents and answer keys have already informed development. Results must
be reported as reused-corpus regression, never independent acceptance or an
unbiased estimate of extraction accuracy. Preserve first results and distinguish
subsequent fixes and reruns. Record the source/package versions, document and key
hashes, extraction evidence, database persistence results and coverage gaps.

Use an isolated Preview tenant for persistence checks. Production data is not a
test fixture. Keep source files unchanged. The C6 sync-era write guard remains
active; this decision does not authorize NP Group cutover, deleting sync history
or relaxing deployment safeguards.

Deployment remains conditional on the regression results and the governed
release checks. Extraction-only or JSON-replay tests must not be described as
normal-intake end-to-end coverage.

## First attempt

The extraction stage ran against application commit `576dff09`, pinned skill
`a558523f3f0ad97e6c3f60707d635b3d257d3392`, package SHA256
`083cbd796ca37b4ea73d70b36a874e33cee50762cd754553d8d6bb3a8e4c53c5`,
Claude CLI `2.1.259`, model `claude-opus-5`, effort `high`.
A separate detached source checkout preserved the original project.
All 40 source hashes matched the existing answer keys: 35 fiscal documents and
five statements. This is not the historical 24-case 8/8/8 acceptance matrix.

Run `local/artifacts/persistence-regression-260909/reused-corpus-first` began
at 15:47:42 UTC. All 40 attempts failed before extraction with
`Failed to authenticate: OAuth session expired and could not be refreshed`.
No extraction cells were scored; no accuracy result or persistence result exists.
The bench exited 1. Its JSON/Markdown reports and attempt evidence are retained
locally alongside `corpus-manifest.json` containing source and key hashes.
The source checkout remained clean. The bench opens no database.

The release gate has not passed and production binaries were not activated.
The next prerequisite is renewing the owner's dedicated bench login using
`local/renew-regression-login.ps1` in an interactive PowerShell console. It sets
only the bench configuration directory and restores the caller's environment.
Never copy or borrow the worker's production login. Then run
`local/run-existing-corpus-regression.ps1`, which creates a separate timestamped
attempt and preserves this failed run. Persistence checks still follow extraction;
an extraction bench pass alone does not authorize calling the pipeline verified.
