|
1 | | -<!-- assessed-at: 580793c --> |
| 1 | +<!-- assessed-at: 6cfae5e458a67a4146431cd651d8636f7bb3b2fc --> |
2 | 2 |
|
3 | 3 | # Project State |
4 | 4 |
|
5 | | -## Status: IN_PROGRESS |
| 5 | +## Status: DONE |
6 | 6 |
|
7 | | -## Phase: Documentation complete; gen_sum_code_v0 benchmark missing |
| 7 | +## Phase: All target criteria met; CI green |
8 | 8 |
|
9 | | -Iteration 15 completed the final documentation gap: all 6 per-language howto guides now have a |
10 | | -`### Sum-Code` subsection with working code examples for `gen_sum_code_v0`. CI remains all-green |
11 | | -(11/11 jobs SUCCESS). The only remaining target gap is that `crates/iscc-lib/benches/benchmarks.rs` |
12 | | -still says "9 gen\_\*\_v0" and has no `bench_sum_code` criterion function — the target requires |
13 | | -criterion benchmarks for all Rust `gen_*_v0` functions, and there are now 10. |
| 9 | +All sections of `target.md` are fully satisfied. The `bench_sum_code` criterion benchmark added in |
| 10 | +iteration 16 completed the final gap — all 10 `gen_*_v0` functions now have Rust criterion |
| 11 | +benchmarks. CI is all green (11/11 jobs SUCCESS). The only open item is issue #16 (feature flags for |
| 12 | +minimal builds), which is low priority, has a GitHub issue filed, and is **not** part of the |
| 13 | +`target.md` acceptance criteria. |
14 | 14 |
|
15 | 15 | ## Rust Core Crate |
16 | 16 |
|
@@ -118,47 +118,45 @@ criterion benchmarks for all Rust `gen_*_v0` functions, and there are now 10. |
118 | 118 | - `docs/c-ffi-api.md` has `iscc_gen_sum_code_v0` + `IsccSumCodeResult` struct documented ✅ |
119 | 119 | - `docs/index.md` lists `gen_sum_code_v0` in function table ✅ |
120 | 120 | - `docs/architecture.md` references `gen_sum_code_v0` ✅ |
121 | | -- All 6 howto guides now have `### Sum-Code` subsections with working code examples ✅ |
122 | | - - `docs/howto/rust.md` — `gen_sum_code_v0(Path::new(...))` ✅ |
123 | | - - `docs/howto/python.md` — `gen_sum_code_v0("example.bin")` ✅ |
124 | | - - `docs/howto/nodejs.md` — `gen_sum_code_v0("example.bin")` ✅ |
125 | | - - `docs/howto/wasm.md` — `gen_sum_code_v0(data)` (Uint8Array, no path) ✅ |
126 | | - - `docs/howto/java.md` — `IsccLib.genSumCodeV0("example.bin", 64, false)` ✅ |
127 | | - - `docs/howto/go.md` — `iscc.GenSumCodeV0("example.bin", 64, false)` ✅ |
128 | | -- `uv run zensical build` exits 0 (verified by review agent) ✅ |
| 121 | +- All 6 howto guides have `### Sum-Code` subsections with working code examples ✅ |
| 122 | +- `uv run zensical build` exits 0 ✅ |
129 | 123 |
|
130 | 124 | ## Benchmarks |
131 | 125 |
|
132 | | -**Status**: partially met |
| 126 | +**Status**: met |
133 | 127 |
|
134 | | -- Criterion benchmarks exist for the original 9 `gen_*_v0` functions + `bench_data_hasher_streaming` |
135 | | - - `bench_cdc_chunks` (4KB/64KB/1MB) |
136 | | -- pytest-benchmark comparison: `benchmarks/python/bench_iscc_core.py` and `bench_iscc_lib.py` |
137 | | -- Speedup factors published in `docs/benchmarks.md` |
138 | | -- `Bench (compile check)` CI job verifies all benchmark targets compile |
139 | | -- **MISSING**: `crates/iscc-lib/benches/benchmarks.rs` file docstring says "9 gen\_\*\_v0 ISCC |
140 | | - functions" (stale) and has no `bench_sum_code` criterion function. Target requires criterion |
141 | | - benchmarks for all Rust `gen_*_v0` functions; there are now 10. |
| 128 | +- Criterion benchmarks exist for all 10 `gen_*_v0` functions: |
| 129 | + - `bench_meta_code`, `bench_text_code`, `bench_image_code`, `bench_audio_code`, |
| 130 | + `bench_video_code`, `bench_mixed_code`, `bench_data_code`, `bench_instance_code`, |
| 131 | + `bench_iscc_code`, `bench_sum_code` (64KB + 1MB throughput using `NamedTempFile`) ✅ |
| 132 | +- File docstring updated to "all 10 `gen_*_v0` ISCC functions" ✅ |
| 133 | +- `bench_data_hasher_streaming` + `bench_cdc_chunks` additional benchmarks ✅ |
| 134 | +- pytest-benchmark comparison: `benchmarks/python/bench_iscc_core.py` and `bench_iscc_lib.py` ✅ |
| 135 | +- Speedup factors published in `docs/benchmarks.md` ✅ |
| 136 | +- `Bench (compile check)` CI job passes ✅ |
142 | 137 |
|
143 | 138 | ## CI/CD and Publishing |
144 | 139 |
|
145 | 140 | **Status**: met |
146 | 141 |
|
147 | 142 | - **All 11 CI jobs SUCCESS** on latest push; latest CI run: **PASSING** ✅ |
148 | | -- URL: https://github.com/iscc/iscc-lib/actions/runs/22559996288 |
| 143 | +- URL: https://github.com/iscc/iscc-lib/actions/runs/22560748212 |
149 | 144 | - Jobs: Version consistency, Rust (fmt, clippy, test), Python 3.10 (ruff, pytest), Python 3.14 |
150 | 145 | (ruff, pytest), Python (ruff, pytest), Node.js (napi build, test), WASM (wasm-pack test), C FFI |
151 | 146 | (cbindgen, gcc, test), Java (JNI build, mvn test), Go (go test, go vet), Bench (compile check) — |
152 | 147 | all success ✅ |
153 | 148 | - v0.0.3 released to all registries; OIDC trusted publishing for crates.io; Maven Central GPG |
154 | | - configured; npm via NPM_TOKEN |
| 149 | + configured; npm via `NPM_TOKEN` |
155 | 150 |
|
156 | 151 | ## Next Milestone |
157 | 152 |
|
158 | | -**Add `bench_sum_code` criterion benchmark for `gen_sum_code_v0`:** |
| 153 | +**Target fully met.** All `target.md` acceptance criteria are satisfied and CI is green. |
| 154 | + |
| 155 | +The only remaining tracked item is **issue #16** — feature flags for embedded/minimal builds (low |
| 156 | +priority, GitHub issue filed at https://github.com/iscc/iscc-lib/issues/16). This is an enhancement |
| 157 | +outside the current target scope. The CID loop may either: |
| 158 | + |
| 159 | +1. Implement issue #16 as a low-priority follow-on |
| 160 | +2. Declare target completion and stop the loop |
159 | 161 |
|
160 | | -`crates/iscc-lib/benches/benchmarks.rs` has benchmarks for 9 `gen_*_v0` functions but not the tenth |
161 | | -(`gen_sum_code_v0`). The target requires criterion benchmarks for all Rust `gen_*_v0` functions. Add |
162 | | -a `bench_sum_code` function (using a temp file with 64KB and 1MB payloads, matching the pattern from |
163 | | -`bench_data_code`) and register it in `criterion_group!`. Also update the file docstring from "9" to |
164 | | -"10". After that, only issue #16 (feature flags for minimal builds, low priority) remains. |
| 162 | +No blocking work remains. |
0 commit comments