- [x] read the compiler, runtime, vm cores, language server, and build tools. - [x] verify formatted markdown and code in vs code hovers, including bundled server builds. - [x] add mandatory documentation for every built-in type. - [x] use `/* ... */` comments as documentation, including comments for individual variables and arguments on the same line. - [x] run focused tests between changes and avoid repeating the full suite. - [x] check every core source file through the lsp document protocol with its expected source dependencies; reproduce and fix editor diagnostics, including those in `src/compiler/compiler.zc`. - [x] rename current i/o and string helpers consistently, including `puts` → `put_s`, `putn` → `put_n`, and `scat` → `cat_s`; update compiler references, examples, tests, and documentation. - [x] review passing a temporary owned return to an output function; preserve the restriction if it is needed for lifetime safety, otherwise fix it with regression coverage. - [x] draft `docs/BORROW.md` with a concrete plan for a less intrusive borrow checker and lifetime analyzer. - [x] grow collector mark work without losing pending objects or counting compiler storage as user objects on the default map. - [x] verify more than 64 generic declarations, more than 128 instantiations, more than 32 captures, and more than 8 nested closures on the default map. - [x] move source files into appropriate subdirectories of `src/`, tests into subdirectories of `tests/`, and documentation and designs into `docs/`. - [x] consolidate windows build, run, and test entry points into one interactive `tinyvm.bat`. - [x] add a matching interactive `tinyvm.sh` for linux, with direct command mode. - [x] remove stale planning references from current documentation and code. - [x] consolidate useful memory-limit information, then remove `CEILINGS.md` if redundant. - [x] reject stale lsp diagnostics after closing and reopening a document. - [x] make raw native stack picks obey the same address bounds as the portable backends. - [x] show array, pointer, struct, enum, alias, and function types in hover previews. - [x] show inferred types for untyped variables, function returns, arguments, and other inferred declarations. - [x] verify inference for 600 functions and 5000 locals without silently dropping later edits. - [x] grow stable frame segments and preserve older local addresses through collection on native, microcore, and javascript. - [x] verify stable frame growth with llvm 23 and fix the macos libc helper-name conflict. - [x] inventory fixed addresses and capacities across native, microcore, javascript, and lsp backends in docs/design/memory.md. - [x] grow execution data and return stacks on native, microcore, and javascript, with explicit runtime reservations and collection after relocation. - [x] verify operand and return stack growth on llvm and check invalid requests and denied growth without corrupting the vm. - [x] repeat growth checks on a small generated map. - [x] verify growing frames on small generated maps. - [x] preserve all generic parameter names and inference state across nested compilation; infer later function arguments. - [x] grow assembly and remaining parser scratch storage. - [x] preserve long lsp request identifiers, grow json and header scratch buffers, and reset tagged-enum records between document checks. - [x] grow image-building output independently of the building host’s genome slot while preserving logical image addresses. - [x] grow native code-address metadata and preserve warm calls and invalidation after bulk rewrites. - [x] restore missing javascript float opcodes and binary32 conversions, then compare focused arithmetic and formatting tests across backends. - [x] grow program emission and image-building capacity without relocating live code or globals. - [x] correct the lexer’s float-buffer load and read long float spellings without clipping their exponents. - [x] point documented image boot headers at the symbol table after packed documentation. - [x] polish the learning guide and verify its examples against their documented output. - [x] fix reproducible bugs and apply useful optimizations with regression coverage. - [x] support build-time adjustment through a consistent generated layout. - [x] finish growing all compiler tables and execution stacks during execution, preserving live references; heap growth alone does not satisfy this requirement. - [x] test changed limits, memory growth, invalid configurations, and agreement between image and host layout. - [x] document available controls and any remaining fixed constraints precisely. - [x] update builds, runners, editor bundles, tests, and links for the new paths, keeping the repository root focused on entry points. - [x] preserve useful commands, propagate failures, and handle paths containing spaces. - [x] verify runner behavior on available hosts and document untested platform behavior. - [x] polish the learning guide and reference documentation; keep examples executable. - [x] replace obsolete build commands and distinguish current behavior from historical notes. - [x] make comments consistent and keep section overviews separate from unrelated declarations. - [x] keep documentation and comment prose lowercase, matching the older style; preserve case-sensitive code and identifiers. - [x] preserve full 64-bit integer literals, including values outside the single-word literal format. - [x] grow stage 0 source input and image output beyond their initial capacities. - [x] execute javascript vm and micro enhancement recipes with the same slot and output rules as the native hosts. - [x] add basic bounds and lifetime analysis that warns about provable out-of-bounds access and use after free. - [x] test definite failures and safe cases so uncertain behavior does not produce a definite warning. - [x] show known size and lifetime information when hovering over an array or pointer. - [x] fix the macos first-call crash in native mutual o3 recursion and verify it with a focused regression. - [x] preserve nonfatal bounds and lifetime warnings across native, microcore, javascript, and both extension hosts. - [x] verify block documentation, inferred pointer types, and lifetime metadata in the real editor. - [x] replace quadratic hint deduplication with a growing set and verify large javascript documents. - [x] make compact compiler maps grow past startup pressure and update obsolete fixed-limit test expectations. - [x] fix darwin stdio variadic argument placement exposed by native integration tests. - [x] index local names and preserve shadow chains to avoid rescanning all earlier locals. - [ ] keep cast bounds conservative and infer aggregate aliases as pointers to their stored addresses. - [ ] allow run-only heaps to grow and separate freestanding physical backing from logical vm limits. - [ ] complete final integration checks and refresh generated editor artifacts after the final fixes.