feat(fana): C1 — núcleo del writer DAG editor (core + graph)
Primer paso de fana (prioridad alta entre las apps Fase C). - fana-core — NarrativeAtom: id + content_hash SHA-256 + content Arc<String> (structural sharing: ramificar es O(1)) + semantic_vectors + dependencies + branch_id + CoherenceState (Valid/InConflict/ PendingEvaluation). Invariante hash↔content verificable; set_content re-hashea y marca PendingEvaluation. - fana-graph — NarrativeGraph: DAG de átomos + adjacency dependencia→dependientes. propagate_mutation: BFS que marca PendingEvaluation en cascada a todo descendiente (la "onda de choque lógica" de la spec), agnóstico de UI — devuelve los ids afectados. topological_order con detección de ciclo. 10 tests verdes. cargo check --workspace verde. Pendiente fana: semantic (cliente verbo), store (sled), llm, render-plan, editor-gpui. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
[package]
|
||||
name = "fana-core"
|
||||
version.workspace = true
|
||||
edition.workspace = true
|
||||
license.workspace = true
|
||||
authors.workspace = true
|
||||
publish.workspace = true
|
||||
description = "fana — átomo narrativo (NarrativeAtom) + estado de coherencia. Tipos puros del editor DAG, agnósticos de UI."
|
||||
|
||||
[dependencies]
|
||||
uuid = { workspace = true }
|
||||
sha2 = { workspace = true }
|
||||
Reference in New Issue
Block a user