vectie/moonfish/book does not have a README file

    BookArtifactCommit

    pub(all) struct BookArtifactCommit {
    artifact : BookArtifactRef
    payload_class : BookPayloadClass
    redacted : Bool
    status : BookArtifactCommitStatus
    idempotency_key : String
    message : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookArtifactCommitStatus

    pub(all) enum BookArtifactCommitStatus {
    ArtifactReady
    ArtifactBlocked
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookArtifactKind

    pub(all) enum BookArtifactKind {
    RawMarketData
    RawPromptPacket
    RawModelRequest
    RawModelResponse
    RawRunEvents
    GeneratedProjection
    GeneratedStructureLevels
    GeneratedContextBudget
    GeneratedDecisionPolicy
    GeneratedAnalysisRecord
    GeneratedExperienceSelection
    GeneratedChartFrame
    ImportedLegacyRecord
    ImportedExperienceMemory
    ImportedTradeLog
    GeneratedImportManifest
    GeneratedBookCommit
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookArtifactRef

    pub(all) struct BookArtifactRef {
    run_id : String
    path : String
    schema_id : String
    kind : BookArtifactKind
    purpose : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookCommitReport

    pub(all) struct BookCommitReport {
    run_id : String
    status : BookCommitStatus
    artifact_count : Int
    ready_count : Int
    blocked_count : Int
    commits : Array[BookArtifactCommit]
    summary : String
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookCommitStatus

    pub(all) enum BookCommitStatus {
    CommitReady
    CommitBlocked
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookPayloadClass

    pub(all) enum BookPayloadClass {
    RawEvidence
    GeneratedRecord
    AppProjection
    ImportProjection
    CommitManifest
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookWritePlan

    pub(all) struct BookWritePlan {
    run_id : String
    artifacts : Array[BookArtifactRef]
    } derive(Eq, ToJson,
    Debug
    ,
    FromJson
    )

    BookWritePlan::paths

    fn BookWritePlan::paths(self : BookWritePlan) -> Array[String]

    book_artifact_ref

    fn book_artifact_ref(run_id : String, path : String, schema_id : String, kind : BookArtifactKind, purpose : String) -> BookArtifactRef

    dry_projection_write_plan

    prepare_book_commit_report

    fn prepare_book_commit_report(plan : BookWritePlan) -> BookCommitReport