Skip to content

doc(readme): mark M9 (#139) complete + refresh roadmap & nft_marker_gen#178

Merged
kalwalt merged 1 commit into
devfrom
doc/readme-m9-complete
Jun 5, 2026
Merged

doc(readme): mark M9 (#139) complete + refresh roadmap & nft_marker_gen#178
kalwalt merged 1 commit into
devfrom
doc/readme-m9-complete

Conversation

@kalwalt

@kalwalt kalwalt commented Jun 5, 2026

Copy link
Copy Markdown
Member

Summary

Documentation + one small Cargo.toml follow-up to PR #176 (M9 merge). Marks the M9 milestone as complete in the README roadmap, refreshes the post-M9 short-term goals, brings the Project Structure section in line with the new pluggable backend architecture, and corrects the nft_marker_gen example invocation now that the pure-Rust default actually works for it.

Closes the lingering documentation TODO from #139.

Changes

README.md

crates/core/Cargo.toml

  • Relax nft_marker_gen required-features from ["log-helpers", "ffi-backend"] to ["log-helpers"].
  • The source already had #[cfg(not(feature = "ffi-backend"))] branches that skip the .fset3 step with a warning — Cargo.toml was the only thing blocking running it on the pure-Rust default. The C++ .fset3 path still works exactly as before when ffi-backend is enabled.

What this PR does NOT do

  • It does not wire nft_marker_gen to use RustFreakMatcher for .fset3 generation. The .fset3 step still calls CppFreakMatcher when ffi-backend is enabled. Doing that properly needs its own PR with byte-level parity validation against existing .fset3 files — filed as the planned follow-up referenced in the new docs.
  • No source-code changes to anything other than the example's feature gating.

Test plan

  • cargo check -p webarkitlib-rs --example nft_marker_gen --features log-helpers (pure-Rust path) succeeds.
  • cargo check -p webarkitlib-rs --example nft_marker_gen --features "log-helpers,ffi-backend" (legacy path) succeeds.
  • All existing CI jobs stay green.
  • README renders correctly on GitHub (anchors, tables, code fences).

Risk

Low. Pure documentation changes plus one feature-gate relaxation. The Cargo change is strictly less restrictive — anyone previously running with ffi-backend keeps the same behavior; users who didn't have a C++ toolchain can now run the minimal .iset + .fset path that the source code already supported.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Jun 5, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

M9 (KPM/NFT pure-Rust pipeline) landed via PR #176, closing #139 and
sub-issues #140 / #141 / #142.

README changes:
- Roadmap: move M9 to Completed Milestones with full sub-milestone
  (M9-1 / M9-2 / M9-3) and cross-cutting (determinism, corner-error
  gate, cross-stack parity) summary.
- Short-term Goals refreshed: replace the now-redundant "Complete
  KPM in idiomatic Rust" bullet with actual pending follow-ups
  (#161 WASM browser examples, #174 criterion upgrade, #177 M9
  coverage uplift, deferred kpm_bench from #142).
- Project Structure: kpm module section now reflects the pluggable
  `FreakMatcherBackend` trait, pure-Rust default, M9-1
  `visual_database` sub-module, and the BTreeMap-for-determinism
  note on hough.
- NFT Marker Generation Example: clarify that the example builds
  on the pure-Rust default (produces .iset + .fset); ffi-backend
  is the opt-in path that adds .fset3. Show both invocations and
  a what-you-get table.

Cargo.toml:
- Relax nft_marker_gen `required-features` from
  `["log-helpers", "ffi-backend"]` to `["log-helpers"]`. The source
  already supports building without ffi-backend (skips the .fset3
  step with a warning); Cargo.toml was wrongly forcing the opt-in.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@kalwalt kalwalt force-pushed the doc/readme-m9-complete branch from 3ae50eb to 2ad7da4 Compare June 5, 2026 15:03
@kalwalt kalwalt self-assigned this Jun 5, 2026
@kalwalt kalwalt added documentation Improvements or additions to documentation enhancement New feature or request examples labels Jun 5, 2026
@kalwalt kalwalt moved this from Backlog to In review in Plan to port KPM to rust Jun 5, 2026
@kalwalt kalwalt merged commit 79b9478 into dev Jun 5, 2026
20 checks passed
@github-project-automation github-project-automation Bot moved this from In review to Done in Plan to port KPM to rust Jun 5, 2026
@kalwalt kalwalt deleted the doc/readme-m9-complete branch June 6, 2026 12:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request examples

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant