v0.3.0 99dc266

vt-extraction-verification.md RawHistoryFolder

VT extraction verification evidence

Release

  • Module: github.com/bnema/vev-vt v0.2.1
  • Module checksum: h1:sb5XWVVIgiYd82KSYb3gHvkHVt9r5oRoEK0hqO1B+Aw=
  • Go module checksum: h1:QdV0QI7vUnlAF+7+CiPhThHDpDSkxMEZmCYl/Eo+xCA=
  • Standalone release commit: 7bd1a3c4
  • vev cutover commit: 3fd4a02d

Acceptance evidence

  • vev: make test, make lint, go mod verify, and clean-checkout module resolution pass without a replace directive.
  • Standalone module: tests, race tests, go vet, golangci-lint, external consumer smoke, import-boundary checks, and signed release tag pass.
  • Fuzz smoke passes for VT input, ANSI rendering, VTH3 decoding, and VEVS v4 restore decoding. Seeds include escape sequences, Unicode, clipboard input, malformed history, and the VEVS restore golden.
  • VTH3 and VEVS fixtures remain byte-compatible. VEVS framing and session policy remain vev-owned.
  • History/codec benchmark allocations and bytes are unchanged in the selected pre/post comparison. Representative daemon frame benchmarks remained within normal run variance; no output-byte regression was observed.

Diff classification

  • Extraction: standalone module release, vev module dependency cutover, and removal of the in-repository VT/core/ANSI owners.
  • Tests and fixtures: external ownership contracts, VTH3 golden vectors, VEVS restore fixtures, and fuzz smoke coverage.
  • Documentation: ownership, callback, borrowing, release, and verification records.
  • CI: standalone formatting, lint, race, fuzz, benchmark, and consumer jobs.

Risks and follow-up

  • A broad baseline run including BenchmarkScreenResizeReflowViewport still exposes the pre-existing invalid history row ID benchmark panic. The selected extraction comparison excludes that benchmark rather than masking it.
  • There is no dedicated standalone RuneWidth benchmark; width behavior is covered by public contract tests and the screen/parser benchmark suite.
  • The outer VEVS codec intentionally remains in vev and must not move into the standalone module.
source
1# VT extraction verification evidence
2
3## Release
4
5- Module: `github.com/bnema/vev-vt v0.2.1`
6- Module checksum: `h1:sb5XWVVIgiYd82KSYb3gHvkHVt9r5oRoEK0hqO1B+Aw=`
7- Go module checksum: `h1:QdV0QI7vUnlAF+7+CiPhThHDpDSkxMEZmCYl/Eo+xCA=`
8- Standalone release commit: `7bd1a3c4`
9- vev cutover commit: `3fd4a02d`
10
11## Acceptance evidence
12
13- vev: `make test`, `make lint`, `go mod verify`, and clean-checkout module
14  resolution pass without a `replace` directive.
15- Standalone module: tests, race tests, `go vet`, `golangci-lint`, external
16  consumer smoke, import-boundary checks, and signed release tag pass.
17- Fuzz smoke passes for VT input, ANSI rendering, VTH3 decoding, and VEVS v4
18  restore decoding. Seeds include escape sequences, Unicode, clipboard input,
19  malformed history, and the VEVS restore golden.
20- VTH3 and VEVS fixtures remain byte-compatible. VEVS framing and session policy
21  remain vev-owned.
22- History/codec benchmark allocations and bytes are unchanged in the selected
23  pre/post comparison. Representative daemon frame benchmarks remained within
24  normal run variance; no output-byte regression was observed.
25
26## Diff classification
27
28- **Extraction:** standalone module release, vev module dependency cutover, and
29  removal of the in-repository VT/core/ANSI owners.
30- **Tests and fixtures:** external ownership contracts, VTH3 golden vectors,
31  VEVS restore fixtures, and fuzz smoke coverage.
32- **Documentation:** ownership, callback, borrowing, release, and verification
33  records.
34- **CI:** standalone formatting, lint, race, fuzz, benchmark, and consumer jobs.
35
36## Risks and follow-up
37
38- A broad baseline run including `BenchmarkScreenResizeReflowViewport` still
39  exposes the pre-existing `invalid history row ID` benchmark panic. The
40  selected extraction comparison excludes that benchmark rather than masking it.
41- There is no dedicated standalone `RuneWidth` benchmark; width behavior is
42  covered by public contract tests and the screen/parser benchmark suite.
43- The outer VEVS codec intentionally remains in vev and must not move into the
44  standalone module.

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 12

Tags 11

↑↓ moveenter openesc close