You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Squash of the test/docs slice, the adversarial-review fixes, and the
PR-review resolutions (Gemini/CodeAnt comments evaluated on merit).
Tests + docs (was 0ca7a40):
- acceptance_test.go: end-to-end matrix over the terminal-state scenarios
(complete/partial/failed/skipped/cancelled/waive, plus a cancelled
mid-run row where selected is a strict superset of the outcome sets);
provider-transition resume case now starts from a PARTIAL run and
asserts the resume flips it to complete with parent_session_id intact
and an unchanged artifact checksum (input identity retained);
TestManifestNeverLeaksSecrets is the canonical secret guard.
- manifest_test.go: TestManifestSchemaLock pins the literal schema
version (1) and the top-level JSON key set (the previous check
compared the constant to itself). The standalone Finalize test was
folded into the acceptance matrix (failure-class + artifact columns).
- emit_run_result_test.go: no-files manifest case folded into the
legacy-status regression table.
- agent/manifest_test.go: newManifestAgent helper replaces three copies
of the Args literal.
- docs: run-manifest schema, state->exit-code mapping, --waive flag;
files invariant corrected to the superset wording; commit-mode range
fields documented.
Adversarial-review fixes (was 6afe1bf):
- viewer/store.go (HIGH): peekSession read only the last JSONL line for
session_end; run_manifest is now the last line, so the session-list
fast path lost duration/files/failures. Checks the last two lines;
regression test fails on the old code.
- manifest.go: cancelled run whose only covered items are waives is
partial, not failed; ManifestFiles doc corrected (selected is a
superset); Finalize made idempotent (written-once guard).
PR-review resolutions:
- session logging to stderr (gemini r3585811920): the [ocr session]
messages went to stdout, which carries the --format json payload;
all four sites (incl. two pre-existing) now use os.Stderr.
- remote-URL redaction (codeant r3585831274): redactRemoteURL (nee
stripURLUserinfo) also strips query/fragment, so ?access_token=...
can no longer reach the manifest; scp-style remotes still pass
through (they fail url.Parse and carry no password). Verified E2E.
- content-based scan fingerprint (codeant r3585834011): scanFingerprint
hashes mode\0path\0content (ScanItem.Content is already in memory),
matching the diff path's content-sensitive fingerprint; the
path-only ponytail debt is paid.
- scan panic recovery (codeant r3585834021): scan dispatch goroutines
now recover, record the item as failed with class "panic", and let
Finalize still write the manifest — mirrors the diff-review dispatch.
Pre-existing gap, but newly load-bearing for the finalize-always
contract. Panic row added to the scan parity table.
- superset comments (codeant r3585835296): the false equality
invariant wording in SetSelected and recordSelectionAndArtifact now
matches the manifest contract.
- session.ArtifactChecksum: the sort/join/sha256 tail duplicated in the
agent and scan recordSelectionAndArtifact now lives in one place so
the fingerprint-join convention cannot diverge.
Full go test ./... green (2034); -race green on session/agent/scan/
viewer/cmd; make check clean. E2E: failing review persists
... -> session_end -> run_manifest with state=failed and
class=provider_error; no-diff review emits valid skipped JSON with the
manifest; a remote with userinfo+query credentials is fully redacted.
0 commit comments