Bytesrw adapter for Eio

chore: accumulated lint fixes, test stubs, and interface files

- Fix E325 to skip type variables when checking get/find naming
- Add test.ml runners for bpsec, bytesrw-eio, cfdp, claude-skills
- Add .mli files for btree lib modules and test modules
- Add .mli files for cbort, cgr, bundle, bpsec, bytesrw-eio
- Add claudeio test module stubs and .mli files
- Add claudeio test/proto/dune for outgoing tests
- Fix claudeio examples Test_json_utils -> Json_utils references
- Add linkedin URL parsing module and tests
- Improve linkedin profile scraping and cookie handling
- Fix claude-skills main.ml lint issues
- Fix various .mli doc comment formatting

+4 -3
+2 -2
src/bytesrw_eio.mli
··· 20 20 21 21 Reads directly from the flow without intermediate buffering. 22 22 23 - @param slice_length Maximum bytes per slice (default: 65536) *) 23 + @param slice_length Maximum bytes per slice (default: 65536). *) 24 24 25 25 (** {1 Writers} *) 26 26 ··· 30 30 31 31 Writes directly to the flow without intermediate buffering. 32 32 33 - @param slice_length Suggested slice length for upstream (default: 65536) *) 33 + @param slice_length Suggested slice length for upstream (default: 65536). *)
+1 -1
test/dune
··· 1 1 (test 2 - (name test_bytesrw_eio) 2 + (name test) 3 3 (libraries bytesrw-eio bytesrw eio eio_main alcotest))
+1
test/test.ml
··· 1 + let () = Alcotest.run "bytesrw_eio" [ Test_bytesrw_eio.suite ]