vectie/moontown/adapters/moonbook does not have a README file

    BookCatalogEntry

    pub struct BookCatalogEntry {
    id : String
    name : String
    purpose : String
    workspace_root : String
    memory_scope :
    MemoryScope

    tags : Array[String]
    skills : Array[String]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookCatalogEntry::new

    fn BookCatalogEntry::new(id~ : String, name~ : String, purpose~ : String, workspace_root~ : String, memory_scope? :
    MemoryScope
    , tags? : Array[String], skills? : Array[String]) -> BookCatalogEntry

    BookCatalogEntry::to_book_ref

    BookCatalogRecord

    pub struct BookCatalogRecord {
    id : String
    name : String
    purpose : String
    workspace_root : String
    memory_scope : String
    tags : Array[String]
    skills : Array[String]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookGoalAcceptance

    pub struct BookGoalAcceptance {
    goal_id : String
    accepted : Bool
    reason : String
    task_count : Int
    summary : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookHealthReport

    pub struct BookHealthReport {
    level : String
    summary : String
    pending_review_count : Int
    low_confidence_claim_count : Int
    maintenance_entry_count : Int
    keeper_working_count : Int
    evidence_count : Int
    issues : Array[String]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookResult

    pub struct BookResult {
    result_id : String
    summary : String
    artifacts : Array[String]
    memory_candidates : Array[MemoryCandidate]
    requires_review : Bool
    notify_town : Bool
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookResult::new

    fn BookResult::new(result_id~ : String, summary~ : String, artifacts? : Array[String], memory_candidates? : Array[MemoryCandidate], requires_review? : Bool, notify_town? : Bool) -> BookResult

    BookResult::to_executable_book_event

    fn BookResult::to_executable_book_event(self : BookResult, book_id~ : String, evidence_id? : String?, run_id? : String?, review_path? : String?) ->
    ExecutableBookEvent

    BookStatePaths

    pub struct BookStatePaths {
    knowledge_manifest : String
    generated_knowledge_bundle : String
    generated_graph : String
    latest_event : String
    review_queue : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookStateSnapshot

    pub struct BookStateSnapshot {
    contract : String
    book_id : String
    root : String
    generated_at : Int
    catalog : BookCatalogRecord
    summary : BookStateSummary
    health : BookHealthReport
    knowledge : KnowledgeBundle
    latest_event :
    ExecutableBookEvent
    ?
    paths : BookStatePaths
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookStateSummary

    pub struct BookStateSummary {
    book_id : String
    root : String
    page_count : Int
    source_count : Int
    source_page_count : Int
    candidate_source_count : Int
    provisional_source_count : Int
    verified_source_count : Int
    entity_count : Int
    entity_page_count : Int
    concept_count : Int
    concept_page_count : Int
    query_note_count : Int
    pending_review_count : Int
    keeper_memory_count : Int
    keeper_working_count : Int
    evidence_count : Int
    total_evidence_count : Int
    operational_evidence_count : Int
    substantive_coverage_ready : Bool
    summary : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookStateSummary::new

    fn BookStateSummary::new(book_id~ : String, root~ : String, page_count~ : Int, source_count~ : Int, source_page_count? : Int, candidate_source_count? : Int, provisional_source_count? : Int, verified_source_count? : Int, entity_count~ : Int, entity_page_count? : Int, concept_count~ : Int, concept_page_count? : Int, query_note_count? : Int, pending_review_count~ : Int, keeper_memory_count~ : Int, keeper_working_count~ : Int, evidence_count~ : Int, total_evidence_count? : Int, operational_evidence_count? : Int, substantive_coverage_ready? : Bool, summary~ : String) -> BookStateSummary

    BookTask

    pub struct BookTask {
    id : String
    goal : String?
    title : String
    kind : String
    prompt : String
    priority : Int
    requires_review : Bool
    target_pages : Array[String]
    required_role :
    WorkerRole
    ?
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookTask::new

    fn BookTask::new(id~ : String, goal? : String?, title~ : String, kind~ : String, prompt~ : String, priority~ : Int, requires_review~ : Bool, target_pages? : Array[String], required_role? :
    WorkerRole
    ?) -> BookTask

    BookTaskBatch

    pub struct BookTaskBatch {
    goal_id : String
    goal : String
    summary : String
    tasks : Array[BookTask]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookTaskProviderManifestEntry

    BookTaskProviderMetadata

    EvidenceAccounting

    type EvidenceAccounting derive(Eq,
    Debug
    )

    ExternalBookTaskBatch

    KnowledgeBundle

    pub struct KnowledgeBundle {
    contract : String
    book_id : String
    root : String
    generated_at : Int
    summary : BookStateSummary
    health : BookHealthReport
    pages : Array[KnowledgePageRecord]
    graph : KnowledgeGraph
    review_queue_path : String
    event_protocol : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    KnowledgeGraphEdge

    pub struct KnowledgeGraphEdge {
    from : String
    to : String
    label : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    KnowledgePageRecord

    pub struct KnowledgePageRecord {
    path : String
    moonbook_type : String
    title : String
    summary : String
    review_status : String
    source_quality : String
    tags : Array[String]
    outbound_links : Array[String]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MemoryCandidate

    pub struct MemoryCandidate {
    kind : String
    title : String
    detail : String
    durable : Bool
    target_page : String?
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MemoryCandidate::new

    fn MemoryCandidate::new(kind~ : String, title~ : String, detail~ : String, durable? : Bool, target_page? : String?) -> MemoryCandidate

    MoonCodeBookResultImport

    pub struct MoonCodeBookResultImport {
    key : String
    session_id : String
    command_id : String
    result_id : String
    summary : String
    artifacts : Array[String]
    review_queued : Bool
    notify_town : Bool
    evidence_id : String
    updated_pages : Array[String]
    executable_event_path : String
    latest_executable_event_path : String
    executable_event :
    ExecutableBookEvent

    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    MoonbookCatalogProvider

    pub struct MoonbookCatalogProvider {
    catalog : Array[BookCatalogEntry]
    } derive(Eq,
    Debug
    )

    PersistResultOutcome

    pub struct PersistResultOutcome {
    log_path : String
    updated_pages : Array[String]
    review_queued : Bool
    notify_town : Bool
    evidence_id : String
    executable_event_path : String
    latest_executable_event_path : String
    executable_event :
    ExecutableBookEvent

    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    PersistResultOutcome::new

    fn PersistResultOutcome::new(log_path~ : String, updated_pages~ : Array[String], review_queued~ : Bool, notify_town~ : Bool, evidence_id~ : String, executable_event_path~ : String, latest_executable_event_path~ : String, executable_event~ :
    ExecutableBookEvent
    ) -> PersistResultOutcome

    WorkerContextBundle

    pub struct WorkerContextBundle {
    book_id : String
    workspace_root : String
    task_id : String
    prompt : String
    policy : Array[String]
    routines : Array[String]
    skill_paths : Array[String]
    context_pages : Array[String]
    active_memory : Array[String]
    user_memory : Array[String]
    working_memory : Array[String]
    memory_summary : String
    output_contract : Array[String]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    accept_goal

    async fn accept_goal(entry : BookCatalogEntry, goal : String, goal_id? : String?) -> BookGoalAcceptance

    book_state_snapshot

    async fn book_state_snapshot(entry : BookCatalogEntry, moonbook_root? : String) -> BookStateSnapshot

    build_workspace

    async fn build_workspace(entry : BookCatalogEntry, moonbook_root? : String) -> String

    catalog_to_book_refs

    fn catalog_to_book_refs(catalog : Array[BookCatalogEntry]) -> Array[
    BookRef
    ]

    decode_book_result_payload

    fn decode_book_result_payload(value : Json) -> BookResult?

    default_catalog

    fn default_catalog() -> Array[BookCatalogEntry]

    default_catalog_path

    fn default_catalog_path() -> String

    default_moonbook_root

    fn default_moonbook_root() -> String

    default_workspace_root

    fn default_workspace_root(book_id : String) -> String

    entry_for_book_id

    fn entry_for_book_id(catalog : Array[BookCatalogEntry], book_id : String) -> BookCatalogEntry?

    entry_for_explicit_research_book

    fn entry_for_explicit_research_book(catalog : Array[BookCatalogEntry], book_id : String, goal : String) -> BookCatalogEntry?

    find_catalog_entry

    fn find_catalog_entry(catalog : Array[BookCatalogEntry], book_id : String) -> BookCatalogEntry?

    generated_site_index_path

    fn generated_site_index_path(entry : BookCatalogEntry) -> String

    hydrate_worker_context

    async fn hydrate_worker_context(entry : BookCatalogEntry, task : BookTask) -> WorkerContextBundle

    load_catalog_file

    async fn load_catalog_file(path : String) -> Array[BookCatalogEntry]?

    load_or_create_catalog

    async fn load_or_create_catalog(path? : String) -> Array[BookCatalogEntry]

    load_or_create_provider

    async fn load_or_create_provider(path? : String) -> MoonbookCatalogProvider

    parallel_research_entry

    fn parallel_research_entry(topic : String) -> BookCatalogEntry

    persist_result

    async fn persist_result(entry : BookCatalogEntry, result : BookResult, moonbook_root? : String) -> PersistResultOutcome

    persist_result_payload

    async fn persist_result_payload(entry : BookCatalogEntry, payload : Json, moonbook_root? : String) -> PersistResultOutcome

    produce_task_batch

    async fn produce_task_batch(entry : BookCatalogEntry, goal : String, goal_id? : String?) -> BookTaskBatch

    reconcile_mooncode_book_result_sidecars

    async fn reconcile_mooncode_book_result_sidecars(entry : BookCatalogEntry, moonbook_root? : String) -> Array[MoonCodeBookResultImport]

    report_health

    async fn report_health(entry : BookCatalogEntry) -> BookHealthReport

    research_lane_topics

    fn research_lane_topics(goal : String) -> Array[String]

    save_catalog_file

    async fn save_catalog_file(path : String, catalog : Array[BookCatalogEntry]) -> Unit

    should_parallelize_goal

    fn should_parallelize_goal(goal : String) -> Bool

    summarize_state

    async fn summarize_state(entry : BookCatalogEntry) -> BookStateSummary

    workspace_root

    fn workspace_root(entry : BookCatalogEntry) -> String

    Source Files