5.0 kB 57 lines
3a5d9761
nekomimi.pet
⋯
.agents/skills/charm-tui/VERIFICATION.md
download raw history
at main Markdown

Verification record — worked-example revision #

Updated 2026-09-23. This revision keeps the original research and adds eight task-to-code walkthroughs, three complete Go example programs, and regression tests. The code examples are original teaching implementations, not vendored Charm application code.

What ran #

The environment supplies Go 1.23.2, linux/amd64. No Charm API substitutes or mocks were used to make the example programs appear to compile.

Check Result and exact scope
python3 scripts/validate.py Passed. Required files, frontmatter, relative links/anchors, fenced-code balance, and the 14 evaluation specifications.
gofmt on every Go file Passed parsing/formatting. This is not type checking or linking.
python3 scripts/test_offline_examples.py Passed 26 new top-level tests on the actual dependency-free source files used by the demos. All four groups ran with -race -cover and go vet.
go test -race -cover -v ./... in examples/contracts Passed the 11 original top-level tests, including eight table-driven body-sizing subtests.
go vet ./... in examples/contracts Passed, no diagnostics.
go test ./... in examples/worked Attempted; blocked before compilation while downloading the required Go toolchain.

That is 37 executed top-level tests, not 37 terminal integration tests. The actual new core files tested are:

  • internal/display/bounds.go: row allocation, exhaustive visible-range invariants, bounded visible range, control-character policy. 100.0% statement coverage. This does not test real display-cell width.
  • cmd/picker/selection.go: stable identity, empty matches, duplicate labels, ownership, accepted/cancelled/interrupted output and write errors. 100.0% statement coverage. This does not test terminal descriptors or input routing.
  • cmd/search/request.go: generation gating, real cancellation contexts/timers, stale successes and failures, duplicate admission, same-query retries, result ownership, and the simulated backend. 100.0% statement coverage. This does not test Bubble Tea scheduling.
  • cmd/tail/history.go and stream.go: logical anchors, bounded ring retention, eviction disclosure, following, resizing, closed channels, and actual producer/receiver cancellation. 93.5% combined statement coverage. This does not test the terminal renderer or the Tea adapter's command scheduling.

The offline runner uses named source files with module mode disabled, not a second implementation of those functions. It intentionally omits files importing Charm. Coverage measures only the listed source groups and is not a coverage statement about the applications as a whole.

Raw evidence: new core tests, original contract tests, and full build attempt.

Full-build limitation #

The example module requests Go 1.24.2 and explicitly names the direct library versions reviewed in the source ledger. The local go test ./... attempt tried to download go1.24.2; it failed because DNS/network access to the Go module proxy was unavailable. The local Go 1.23.2 toolchain cannot compile that module as declared.

Therefore the three full programs are source-complete but not compiled here. The supplied Charm-dependent model/render tests are also unexecuted. go.sum was not fabricated. Resolve dependencies, run the full suite, and commit the resulting checksum file before relying on an adapted program.

What did not run #

No upstream Charm application or new demo was executed in a terminal. No PTY session, terminal-restoration check, interactive stdout/stderr test, clipboard/paste test, cross-platform build, actual Unicode display inspection, or before/after screenshot comparison was performed. Expected screen compositions in the walkthroughs are illustrations in text, not captured runtime output.

The 14 agent evaluation scenarios were structurally checked, not executed against an agent. Remote URLs were not exhaustively checked. API documentation was consulted, but it cannot establish type correctness or renderer behavior of the complete module.

Reproduce and finish verification #

From the skill root:

python3 scripts/validate.py
python3 scripts/test_offline_examples.py
cd examples/worked
go mod tidy
go test -race ./...
go vet ./...
go run ./cmd/picker

Run the search and tail demos separately, then follow the interaction sequences in Do by example. Test normal and narrow terminals, search typing and paste, modal Escape, cancellation, redirecting stdout, stale result order, stream closure, retention eviction, and restoration of terminal modes.

Do not turn an authored test into a passed test, a parser check into compilation, or a core test into terminal verification.