Skip to content

Commit 2a68141

Browse files
Update jellyfish.c
1 parent f852d9d commit 2a68141

File tree

1 file changed

+71
-1
lines changed

1 file changed

+71
-1
lines changed

code/logic/jellyfish.c

Lines changed: 71 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,8 +372,78 @@ int fossil_jellyfish_deserialize_from_buffer(fossil_jellyfish_chain_t *chain, co
372372

373373
void fossil_jellyfish_init(fossil_jellyfish_chain_t *chain) {
374374
if (!chain) return;
375+
375376
chain->count = 0;
376-
memset(chain->memory, 0, sizeof(chain->memory));
377+
memset(chain->device_id, 0, sizeof(chain->device_id));
378+
chain->created_at = 0;
379+
chain->updated_at = 0;
380+
381+
for (size_t i = 0; i < FOSSIL_JELLYFISH_MAX_MEM; ++i) {
382+
fossil_jellyfish_block_t *b = &chain->memory[i];
383+
384+
// ---- IO ----
385+
memset(&b->io, 0, sizeof(b->io));
386+
b->io.input_len = 0;
387+
b->io.output_len = 0;
388+
b->io.input[0] = '\0';
389+
b->io.output[0] = '\0';
390+
b->io.input_token_count = 0;
391+
b->io.output_token_count = 0;
392+
b->io.compressed = 0;
393+
b->io.redacted = 0;
394+
b->io.reserved = 0;
395+
396+
// ---- Identity ----
397+
memset(&b->identity, 0, sizeof(b->identity));
398+
b->identity.block_index = 0;
399+
b->identity.prev_block_index = 0;
400+
b->identity.signature_len = 0;
401+
b->identity.reserved = 0;
402+
403+
// ---- Time ----
404+
memset(&b->time, 0, sizeof(b->time));
405+
b->time.timestamp = 0;
406+
b->time.delta_ms = 0;
407+
b->time.duration_ms = 0;
408+
b->time.updated_at = 0;
409+
b->time.expires_at = 0;
410+
b->time.validated_at = 0;
411+
412+
// ---- Attributes ----
413+
memset(&b->attributes, 0, sizeof(b->attributes));
414+
b->attributes.immutable = 0;
415+
b->attributes.valid = 1; // Assume valid until proven otherwise
416+
b->attributes.confidence = 1.0f; // Default to max confidence
417+
b->attributes.usage_count = 0;
418+
b->attributes.pruned = 0;
419+
b->attributes.redacted = 0;
420+
b->attributes.deduplicated = 0;
421+
b->attributes.compressed = 0;
422+
b->attributes.expired = 0;
423+
b->attributes.trusted = 0;
424+
b->attributes.conflicted = 0;
425+
b->attributes.reserved = 0;
426+
427+
// ---- Block type ----
428+
b->block_type = JELLY_BLOCK_UNKNOWN;
429+
430+
// ---- Classification ----
431+
memset(&b->classify, 0, sizeof(b->classify));
432+
b->classify.derived_from_index = 0;
433+
memset(b->classify.cross_refs, 0, sizeof(b->classify.cross_refs));
434+
b->classify.cross_ref_count = 0;
435+
memset(b->classify.forward_refs, 0, sizeof(b->classify.forward_refs));
436+
b->classify.forward_ref_count = 0;
437+
b->classify.reasoning_depth = 0;
438+
b->classify.reserved = 0;
439+
b->classify.classification_reason[0] = '\0';
440+
for (size_t t = 0; t < FOSSIL_JELLYFISH_MAX_TAGS; ++t) {
441+
b->classify.tags[t][0] = '\0';
442+
}
443+
b->classify.similarity_score = 0.0f;
444+
b->classify.is_hallucinated = 0;
445+
b->classify.is_contradicted = 0;
446+
}
377447
}
378448

379449
void fossil_jellyfish_remove(fossil_jellyfish_chain_t *chain, size_t index) {

0 commit comments

Comments
 (0)