Update the V compiler to the latest version from https://github.com/vlang/v.

After updating the checkout, it skips rebuilding the compiler if its implementation
sources and dependencies have not changed since the executable's recorded revision.
Documentation and test-only changes do not trigger a rebuild. An unknown revision,
a failed source comparison, or -prod, -skip_v_self or -skip_current forces rebuilding.

It then refreshes previously cached vlib modules for TinyCC, the default C compiler,
with their original build flags, including normal and -prod builds and tests.
Caches for other C compilers are refreshed when a program next uses that compiler.
Only changed module code or compilation inputs require another C compilation.
Unchanged modules reuse their cached objects without a Caching module message.
After rebuilding V, module interfaces are validated with the new compiler. Matching
generated C, C compilers, flags, and native inputs reuse previously compiled objects
across compiler configurations without creating another copy of the object data.
Object flags include source #flag directives. Records with vanished project
directories, required compile inputs, or C compilers are skipped. Test selectors
and assertion display modes are retained. Builds without relative inputs or
project interface scopes share refresh records across projects.
Project directives are merged with flags read from the updated vlib modules.
The original entry preserves project interface implementers when needed; only its
module objects are rebuilt. Isolated ownership caches use the primary V compiler.
Temporary importers also stop after module object validation, before compiling
program objects, building development libraries, or linking an executable.
Live entries replay absolute -file-list operands and re-expand directories to
include their current files. Records with vanished listed files or directories
are skipped. Equivalent live commands run once despite historical source flags.
Equivalent synthetic import sequences also run once per build configuration.
Import order is retained for order-sensitive module C flags, so different
orderings remain separate configurations without generating new permutations.
Unreadable, truncated, and unsupported inventory files are skipped. Live-entry
source identities retire obsolete configurations after project source changes;
a successful build records the current inputs. Older live records without source
identities require rebuilding the project once.
Ownership dispatch preserves V3_PRIMARY_VEXE independently of the helper's VEXE.
Each module being cached is printed to stdout as `Caching module <name>...`.
Before each refresh build, progress shows the cache record index and total,
normal or production mode, program or test mode, and its original compiler flags.
For example: `> Refreshing module cache [1/2] (normal program; -cc tcc).`
Equivalent builds, unavailable inputs and production TinyCC builds are skipped, so progress
indices can jump. TinyCC is not a `-prod` compiler.
The final summary reports how many distinct build configurations were checked.
The same module can be cached separately for different TinyCC build modes.
This also runs when the compiler itself is already updated. A cache refresh
failure makes the update fail. TinyCC object failures are reported instead of
retrying a program without caching. Older caches without recorded settings are
refreshed in both modes with TinyCC, for programs and tests.
Successful legacy migrations mark the old headers to avoid repeating that matrix.
A disk-full error stops the remaining refresh builds; free space before retrying.

It also reports the agent skills installed for this user, in ~/.agents/skills,
that the new revision left behind. Skills with local changes, and skills
installed before V recorded what it installed, are reported but left alone;
`v skills update --global` explains that in more detail.

Usage:
  v up [options]

Options:
  -v                 Print more details about the update.
  -prod              Compile the updated V with the -prod flag.
  -skills            Refresh the installed agent skills that fell behind, in
                     ~/.agents/skills, like `v skills update --global` does.
  -skip_v_self       Rebuild with make or makev.bat instead of `v self`.
  -skip_current      Recompile even when the checkout is already at the
                     revision.
  -h, -help, --help  Show this help and exit.
