-
Environment & Tooling (Current phase)
- Priority: CMake/vcpkg workflow presets refresh — see
docs/cmake_workflow.mdfor the planned preset/toolchain model (C++26/C23 defaults, boost::ut tests, coverage/static-analysis/docs/package presets, per-permutation toolchain files). - Current status/details live in
docs/ai_devcontainer_workflow.md(devcontainer matrix/build/verify) anddocs/ai_mutagen_runbook.md(Mutagen setup/validation); the plan stays high-level here. - Priority: unblock Mutagen –
scripts/verify_mutagen.sh,docs/mutagen-validation.md,docs/mutagen-research.md. Blocker: Mutagen constructs a bad ssh command (hostbecomes literalssh), sosync createfails even though plain SSH works. Next: run the Mutagen daemon in foreground with a logging ssh wrapper, enforce ssh command via~/.mutagen.ymlor PATH-wrapped ssh, then re-runverify_devcontainer.sh --require-sshwithREQUIRE_MUTAGEN=1across all envs. - Remote Docker bake + devcontainer matrix – all permutations built and verified on
c24s1.ch2andc090s4.ny5(ports 9501–9506) usingscripts/run_local_devcontainer.sh+scripts/verify_devcontainer.sh --require-ssh. Tooling present: clang/gcc variants, ninja, cmake, vcpkg, mrdocs, mutagen 0.18.1, all under/usr/local. - Hardening – Dockerfile downloads now enforce SHA-256 checksums (ninja, mold, gh, ccache/sccache, ripgrep, node, mrdocs, jq, awscli, valgrind) and vcpkg post-create no longer tracks main unless
VCPKG_REFis set; GitHub SSH is preseeded in known_hosts (no accept-new). - External AI review of devcontainer/toolchain validation – run Codex/Claude/Gemini to audit Dockerfile/devcontainer/verify scripts for toolchain isolation; see
docs/ai_reviews/for captured outputs and aggregate findings. - Clang branch mapping is centralized in
scripts/clang_branch_utils.sh(stable→20, qualification→21, development→22) and flows through Dockerfile/bake/verify. - Add/maintain workflow diagrams and ensure Dockerfile lint rules remain satisfied; keep package versions pinned once stable.
- Keep
docs/ai_devcontainer_workflow.mdanddocs/CURRENT_WORKFLOW.mdas the entry points for new agents. - Repo/sandbox paths now use the neutral cpp-devcontainers layout (e.g.,
~/dev/github/SlotMap,~/dev/devcontainers/cpp-devcontainer); keep new docs consistent.
- Priority: CMake/vcpkg workflow presets refresh — see
-
Policy & Concept Scaffolding
- Formalize concepts in
include/slotmap/Concepts.hppfor handles, slots, storage, and lookup. - Provide default policies (growth, storage, lookup, instrumentation) backed by qlibs/stdx overlays.
- Document each policy in
docs/Policies/*.mdand illustrate flows indocs/Diagrams/.
- Formalize concepts in
-
SlotMap Core Implementation
- Implement handle generation, slot storage, and error propagation via
std::expected/boost::outcome::result. - Integrate Google Highway for SIMD-assisted scans where policy allows.
- Align
docs/Architecture/*.mdwith real data-flow diagrams.
- Implement handle generation, slot storage, and error propagation via
-
Instrumentation & Logging
- Wire Quill logging and policy-based tracing hooks.
- Introduce Intel CIB service registration for pluggable allocators/growth behaviors.
-
Validation & Packaging
- Expand unit coverage using
boost-ext/ut, add sanitizers presets, and document release/deployment steps. - Ensure
scripts/generate_docs.shartifacts feed CI/publishing.
- Expand unit coverage using