|
1 | | -## 2026-02-27 — Review of: Update Go docs for 30/30 Tier 1 symbols |
2 | | - |
3 | | -**Verdict:** PASS_WITH_NOTES |
4 | | - |
5 | | -**Summary:** Clean, well-structured documentation update adding "Codec operations" and "Constants" |
6 | | -sections to `docs/howto/go.md` and replacing stale "planned" text in `packages/go/README.md` with |
7 | | -organized API tables covering all 30/30 Tier 1 symbols. One minor doc bug fixed during review |
8 | | -(incorrect prefix claim in decompose example). |
9 | | - |
10 | | -**Verification:** |
11 | | - |
12 | | -- [x] `grep -c 'EncodeComponent' docs/howto/go.md` → 1 |
13 | | -- [x] `grep -c 'IsccDecode' docs/howto/go.md` → 2 |
14 | | -- [x] `grep -c 'IsccDecompose' docs/howto/go.md` → 1 |
15 | | -- [x] `grep -c 'JsonToDataUrl' docs/howto/go.md` → 1 |
16 | | -- [x] `grep -c 'EncodeBase64' docs/howto/go.md` → 1 |
17 | | -- [x] `grep -c 'SoftHashVideoV0' docs/howto/go.md` → 1 |
18 | | -- [x] `grep -c 'MetaTrimName' docs/howto/go.md` → 1 |
19 | | -- [x] `grep 'are planned' packages/go/README.md` → no matches (stale text removed) |
20 | | -- [x] `grep -c 'EncodeComponent' packages/go/README.md` → 1 |
21 | | -- [x] `grep -c 'DataHasher' packages/go/README.md` → 2 |
22 | | -- [x] `uv run zensical build` → exits 0 |
23 | | -- [x] `mise run check` → all 14 hooks pass |
24 | | - |
25 | | -**Issues found:** |
26 | | - |
27 | | -- Minor: Decompose example comment said "Each unit code with 'ISCC:' prefix" but `iscc_decompose` |
28 | | - returns units WITHOUT the prefix (verified via Rust docstring and Go test). Fixed in review. |
29 | | - |
30 | | -**Codex review:** Codex identified the incorrect "ISCC:" prefix claim in the decompose example |
31 | | -comment — confirmed and fixed. No other actionable findings. |
32 | | - |
33 | | -**Next:** All 6 language bindings have 30/30 Tier 1 symbols documented. The project can move on to |
34 | | -other target milestones — likely the remaining issues in issues.md: dict auto-serialization for |
35 | | -`gen_meta_code_v0` (issue #5), or adding codec/constants documentation sections to Java and Python |
36 | | -howto guides for cross-language parity. |
37 | | - |
38 | | -**Notes:** The `SoftHashVideoV0` function is documented under "Codec operations" rather than |
39 | | -"Algorithm primitives" — this follows the next.md spec but is a slight taxonomic mismatch. Not worth |
40 | | -changing now; if howto guides get a structural refresh later, it could be moved. Java and Python |
41 | | -howto guides don't yet have codec/constants sections — Go is the first binding with full doc |
42 | | -coverage. |
| 1 | +## 2026-02-27 — Add Codec operations and Constants sections to binding howto guides |
| 2 | + |
| 3 | +**Done:** Added "Codec operations" and "Constants" documentation sections to all 4 binding howto |
| 4 | +guides (Python, Node.js, Java, WASM), achieving cross-language documentation parity with the Go |
| 5 | +guide. Each guide covers encode/decode, decompose, additional codec functions, and algorithm |
| 6 | +constants with language-idiomatic code examples. |
| 7 | + |
| 8 | +**Files changed:** |
| 9 | + |
| 10 | +- `docs/howto/python.md`: Added Codec operations section (encode/decode with IntEnum types, |
| 11 | + decompose, 3 bullet-point functions), Constants section (direct imports + core_opts namespace), |
| 12 | + updated front matter description and opening paragraph |
| 13 | +- `docs/howto/nodejs.md`: Added Codec operations section (encode/decode with IsccDecodeResult, |
| 14 | + decompose, 3 bullet-point functions using require() style), Constants section (destructured |
| 15 | + exports), updated front matter description and opening paragraph |
| 16 | +- `docs/howto/java.md`: Added Codec operations section (camelCase methods on IsccLib, |
| 17 | + IsccDecodeResult with int/byte[] fields, decompose, 3 bullet-point methods), Constants section |
| 18 | + (static final int on IsccLib), updated front matter description |
| 19 | +- `docs/howto/wasm.md`: Added Codec operations section (encode/decode with Uint8Array, |
| 20 | + IsccDecodeResult, decompose, 3 bullet-point functions), Constants section (getter functions), |
| 21 | + updated front matter description and opening paragraph |
| 22 | + |
| 23 | +**Verification:** All 14 grep checks pass (all ≥ 1). `uv run zensical build` exits 0. |
| 24 | +`mise run check` passes all 14 hooks. mdformat auto-formatted some alignment in code comments |
| 25 | +(removed extra alignment spaces in constants sections) — changes are clean. |
| 26 | + |
| 27 | +**Next:** All 6 language binding howto guides now have full documentation coverage (30/30 Tier 1 |
| 28 | +symbols). The project can focus on other target milestones — the remaining issues in issues.md (dict |
| 29 | +auto-serialization for gen_meta_code_v0, or adding Algorithm primitives sections to Python, Node.js, |
| 30 | +and WASM guides). |
| 31 | + |
| 32 | +**Notes:** The Python guide uniquely documents the `core_opts` SimpleNamespace and IntEnum return |
| 33 | +types from `iscc_decode` — these are Python-specific API features not present in other bindings. The |
| 34 | +Node.js guide uses `require()` import style in the Codec sections as specified in next.md, while the |
| 35 | +existing Code generation sections use ESM `import` — this mirrors the Go guide's pattern of showing |
| 36 | +different import styles in different sections. |
0 commit comments