Checked Block creation — research
2026-10-09 · source-only · serves: kadek foundation row 6 retained unimem
storage, with row 3 admission; upstream unimem spec § Layer 1 / error model.
No builds, gates, production edits or allocation experiments ran in this task.
Authority and checkout
Read ~/cyber/cyberia/dev.md, upstream CLAUDE.md, unimem/CLAUDE.md, and
unimem/specs/{README,api-sketch}.md. Drivers expose concrete hardware access;
specs precede code, raw FFI matches the SDK, source files stay ≤500 lines.
The FFI signature correction and compact existing-spec edits are explicit plan
items for review; dependencies, spec structure and hardware policy stay outside.
Commands: git -C ~/cyber/honeycrisp ls-remote --symref origin HEAD,
git -C ~/cyber/honeycrisp fetch origin main, then
git -C ~/cyber/honeycrisp worktree add -b fix/unimem-block-creation ~/cyber/honeycrisp-kadek-block-creation 9593c7218e14e2b5b816d9008b45ab60b9580cf3.
Origin main and the owned checkout are that commit; its unimem tree is
0cfda068bf512d4ce2a6cad5b0eafb85a0591800. Original dirty trees are excluded.
git rev-parse v0.2.0 gives 96fa4f4509d7a966cb22a4bb9e12ac753cff43ae.
Current source and consumers
unimem/src/block.rs::open rejects zero, casts usize to i64 unchecked, creates
a mutable CF dictionary, six allocated strings and six numbers without checking
their returned pointers. The dictionary retains its entries; local Create-rule
references to keys/numbers are never released. cf_str also allocates a CString
and unwraps. Create/lock/base-address failures have manual cleanup; returned
extent, slice isize bounds and typed base alignment are unchecked.
ffi.rs declares CFNumberType as i32, whereas SDK CFNumber.h uses CFIndex.
Dictionary capacity is i64 rather than the SDK's pointer-width signed CFIndex.
IOSurfaceCreate takes immutable CFDictionaryRef in the SDK. Helpers are used
only by Block; raw FFI is public, so signature fixes have source compatibility
consequences. MemError is exhaustively matchable and re-exported by
acpu/rane/aruminium; adding precise variants is another intentional source break.
Searches: rg -n 'MemError::|cf_str\(|cf_i64\(|Block::open' unimem rane aruminium src -g '*.rs'; git grep -n -E 'unimem::ffi|use unimem::.*MemError' 9593c72 -- '*.rs'. Named consumers: Tape derives capacity from block.size();
Grid/Layout use Tape; rane hardware tests and unimem pipeline/ane_matmul use
handles; aruminium Gpu::wrap uses address and actual size. Existing roundtrip
tests assert actual size ≥ requested, not byte equality. No in-tree external
MemError exhaustive match or call to unimem's raw CF declarations was found.
Primary native evidence
xcrun --show-sdk-path returns /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk.
Under System/Library/Frameworks/, read:
| Header / clauses |
SHA-256 (shasum -a 256 <header>) |
IOSurface.framework/Headers/IOSurfaceRef.h:24–38,171,212,350–390 |
8ee2890f7a5392ac2040c2e0b3d3cb773cdebe3627ad3452881fc7d20a759bd5 |
CoreFoundation.framework/Headers/CFNumber.h:31–74 |
ff5cfd4c1bf54d05d495ce80c9ca1405f8ebaef8161f3e21dce590b070f342dd |
CoreFoundation.framework/Headers/CFDictionary.h:202–284,311–380 |
cde527652ea4af4304bdd53a4ff72cf2c8c5b05988ae9572218e46f2a8c0797b |
CoreFoundation.framework/Headers/CFBase.h:558–565 |
259ad5fb0c71d37737e38db6617e8373e6266c9a2482b25b7fb1eb10d28f1736 |
AllocSize names total buffer extent, including planes. Calculated BytesPerRow
should always obey its native property alignment; the current spec's row=size
needs a focused correction. PropertyMaximum describes all-device image
compatibility, not a universal raw-byte allocation limit; it must not arbitrarily
reject large existing raw buffers. CFDictionaryCreate accepts stack arrays,
copies callback structures, and retains values using those callbacks. Creating
an immutable six-entry dictionary avoids the void SetValue growth operation.
Borrowed kIOSurface constants avoid allocated string keys. Returned-null checks
do not prove that every opaque framework allocation failure returns normally.
Supporting measurement: kadek's corrected
audit/2026-10-09-unimem-extent/{README.md,probe.rs,stdout.tsv} in
~/cyber/kadek-unimem-extent, documentation base 6e1f9920a9ab629da5cec1f24ca73a93537da202.
The receipt owns root's exact compile/run/cmp commands and 54 matching extents;
this task did not rerun them. Corrected probe SHA-256
5db5ad6ef8035c6e8768cf2040361600ba7786938649fe5d3e41f188a4b63920, stdout
8d9c8a02b736da70734467216553b5746d7f45398e6e3bce63d6c6173b520a22.
Documented total-size input/output semantics support pre-reserving the explicit
extent; post-create equality is defense in depth under that platform premise.
The counted domain is API-visible backing, plus separately charged Rust owners;
CF/kernel bookkeeping, residency and physical pages remain distinct domains.
Scope and gate prerequisites
A checked concrete plan can stand independently as a constructor repair. It
does not reserve Kadek's pool or certify initialization/publication. A later
private writer must initialize every visible plane byte before immutable output;
this constructor adds no blanket native-initialization claim. Public mutable
views/raw handles, GPU import lifetime, completion, physical-address wording and
non-Apple/no_std support remain separate. Earlier decomposition is in
/tmp/kadek-unimem-integration-plan.md; its conservative extent uncertainty is
superseded by the corrected measurement's stated platform interpretation.
Fresh git -C ~/cyber/strata ls-remote --symref origin HEAD gives main
56aedb2d12b3126c601eb333419136d403614dbb; git show <pin>:nebu/rs/Cargo.toml
names strata-nebu, while honeycrisp Cargo.toml requires cyb-nebu at that path.
This source mismatch prevents calling full origin workspace closure ready; no
build failure was executed here. Isolated exact-source unimem gates are useful
but cannot replace the required workspace/dependent gates. Dependency alignment
needs its own reviewed unit, without dirty sibling inputs or compatibility shims.
Committed soft3 registry 94af9de717658b3e912bcfccc85409fd29b23a10, read with
git show <pin>:release/components.toml, places honeycrisp under nox, layer 1;
this is a pinned registry read, not a fresh soft3-origin or dependent gate claim.
Homonyms
cyber/research
open research areas and theoretical foundations for the cyber protocol see sub-pages for individual research topics
species/research
cyberia/research
research working research packs for cyberia — each folder is one project with a `README.md` index. | project | what | |---------|------| | genome-protocol | attested genome / kinship proofs without a central registry | | migration-market | status currencies, funnel, and nomad awareness model | |…
plants/research
soft3/soma/research
research
soft3/radio/.claude/tasks/bao-hemera-pin/research
Reproducible Hemera source for BAO Serves: owner's Kadek phase-1 closure · Radio/soft3 · prerequisite for bounded BAO verification in Kadek foundation row 4. Dependency-only task; bounded root reduction, no_std API, slice parsing and authenticated particle/root association remain separate dependent…
cyb/honeycrisp/.claude/tasks/nebu-package-identity/research
nebu package identity — research 2026-10-09 · serves: Kadek foundation row 6 native storage, via unimem's required full-workspace gates; discovered from `unimem-block-creation`. `git ls-remote --symref origin HEAD` pins honeycrisp main to `9593c7218e14e2b5b816d9008b45ab60b9580cf3` and strata main…
soft3/radio/.claude/tasks/kadek-export-pairs/research
BAO exporter pair width 2026-10-09. Source-only preparation; no build, new panic reproduction or gate. Serves: kadek foundation row 4 · radio proof provider · current Hemera pair wire. Discovered from kadek's committed `16b53f7b85640be5a68a07787815a44ec6559377`,…
soft3/nox/.claude/tasks/hemera-no-std/research
Hemera feature propagation Stage: active research. Serves the owner's Kadek phase-1 foundation closure, through nox's declared `no_std + alloc` mode and Kadek foundation row 7's real scalar kernels. Discovered from Kadek private FLAC header audit, PR 60, merged as…
cyb/honeycrisp/.claude/tasks/unimem-block-access/research
Raw Block access — research 2026-10-09/10 · serves Kadek foundation row6's native ownership prerequisite and unimem's raw CPU access contract. No production edits or candidate gates. Initial source research is followed by explicitly delegated exact-parent gates below.…
soft3/radio/.claude/tasks/bao-bounded-traversal/research
Bounded BAO traversal research Owner: mov_pcm_resume, handed off by root; stage active, finite source observations measured. Serves the owner's Kadek phase-1 closure, foundation row 4 and `specs/runtime.md` verified source ranges. Discovered from the proof-provenance and bounded-reducer tasks. The…
soft3/radio/.claude/tasks/kadek-memstore-pairs/research
In-memory BAO parent-pair storage Status: research / proposed PLAN, 2026-10-10; no implementation or new gate run. Serves: Kadek phase-1 foundation row 4, authenticated-range transport prerequisite; radio's existing Hemera BAO import/storage contract. Discovered from PR32/PR33. Pinned inputs and…
soft3/radio/.claude/tasks/kadek-slice-traversal/research
Sync slice traversal research Status: fresh Opus plan APPROVE received; implementation source frozen for code review. Serves: owner's phase-1 completion · radio verified streaming · kadek foundation closure row 4 authenticated slice-proof dependency. Parent/discovered-from: [kadek…
soft3/radio/audit/2026-10-12-bao-proof-research/task/research
Bounded BAO proof research Serves Kadek foundation row 4 through Radio (declared part of soft3) and a future Kadek adapter in Cyb. Stage: research complete; PLAN proposed, not approved. Owned branch research/bao-bounded-proof; no production changes, commit, push or vendor dispatch. Original…
soft3/radio/.claude/tasks/bao-bounded-proof/research
Bounded BAO proof research Serves Kadek foundation row 4 through Radio (declared part of soft3) and a future Kadek adapter in Cyb. Stage: research complete; PLAN proposed, not approved. Owned branch research/bao-bounded-proof; no production changes, commit, push or vendor dispatch. Original…
warriors/erga/.claude/tasks/rtable-owner/research
RTable owner research Stage draft; research/PLAN only. Serves Kadek foundation row 6 native ownership; discovered-from Honeycrisp PR14 and Erga PR1's remaining RTable diagnostics. This unit covers the table, its concrete GPU probe and rtable CLI. Mine ownership, native Image, performance and…
soft3/radio/.claude/tasks/bao-root-policy/research
BAO canonical ROOT policy before bounded proof admission Draft v3 research and plan candidate, 2026-10-10. Serves: Kadek phase 1, foundation-closure row 4, runtime provenance and unchanged decoder state on failed authentication. Source-only findings; no candidate implementation or gates.…
warriors/erga/.claude/tasks/mine-owner/research
Mine owner research Stage draft; research/PLAN only. Serves Kadek foundation row 6 native ownership; discovered-from Honeycrisp PR14 and Erga PR2's remaining mine consumer errors. The next concrete unit is the benchmark's read-only table binding, private GPU output/texture, and sole CLI. Native…
warriors/erga/.claude/tasks/blake-batch-owner/research
Blake benchmark owner research Stage draft; no production authorization. Serves Kadek foundation row6 native Image ownership prerequisite; discovered-from Honeycrisp PR14 raw Block boundary repair and its reverse-dependent audit. This unit repairs a concrete Erga owner; it does not close Kadek…
soft3/radio/.claude/tasks/bao-empty-status/research
Fs synthetic empty status — current-origin research Stage: active. Serves Kadek phase 1 foundation row 4, authenticated transport. Discovered from `bao-empty-root`; current-origin amendment supersedes its unmerged five-file implementation. Owner: root, executor: radio_resume. No production change…
soft3/radio/.claude/tasks/bao-bounded-reducer/research
Bounded BAO prerequisite: read-only handoff Serves Kadek foundation row 4. This is source exploration, not an approved implementation plan, gate result, or proof of cold partial provenance. Exact inputs Fresh `git ls-remote origin HEAD` reported Radio `a11d342594949d4ea542b26366f71d56ef21662d` and…
soft3/nox/.claude/tasks/exact-tag-api-baseline/research
Restore an executable exact-tag API baseline Stage: blocked; evidence: measured. Discovered-from: [Hemera no_std repair](/soft3/nox/.claude/tasks/hemera-no-std/research). Serves nox release/API conformance under cyberia/dev § rings. Blocks: clean last-tag gate and any claim of clean release…
soft3/radio/.claude/tasks/audit-cargo-packaging/research
Archived Cargo manifest discovery Status: measured; packaging repair remains proposed. Serves Kadek foundation row 4 through Radio; discovered from the committed strict-proof consumer. Exact Radio parent is `ce0fb312faa8770e80efe9afa864106ae6b51552` (PR40). This worktree is clean at that parent…