MoonBit-native review feedback, overlap disclosure and resubmission proof toolkit
moon add WB-ai-nb/reviewproof-kittest {
let feedback = @reviewproof.example_review_feedback()
let response = @reviewproof.review_feedback_response(feedback)
inspect(response.verdict, content="resubmit-ready")
}moon run examples/basicmoon run cmd/mainreview-proof=resubmit-ready
dossier=dossier-ready
boundary=distinctmoon check --deny-warn
moon build
moon test --deny-warn
moon fmt --check
moon run examples/basic
moon run cmd/main
moon package --listhttps://mooncakes.io/docs/WB-ai-nb/reviewproof-kit
https://mooncakes.io/api/v0/manifest/WB-ai-nb/reviewproof-kitpub(all) struct AuditReport {
project_name : String
score : Int
max_score : Int
verdict : String
package_name : String
repository : String
findings : Array[Finding]
metrics : AuditMetrics
} derive(Eq, Debug)pub(all) struct BoundaryItem {
id : String
claim : String
role : BoundaryRole
related_package : String
implementation : String
proof : String
reviewer_note : String
} derive(Eq, Debug)fn BoundaryItem::BoundaryItem(id? : String, claim? : String, role? : BoundaryRole, related_package? : String, implementation? : String, proof? : String, reviewer_note? : String) -> BoundaryItempub(all) struct BoundaryMatrix {
project_title : String
package_name : String
repository : String
related_prior_work : String
repository_name_note : String
items : Array[BoundaryItem]
} derive(Eq, Debug)fn BoundaryMatrix::BoundaryMatrix(project_title? : String, package_name? : String, repository? : String, related_prior_work? : String, repository_name_note? : String, items? : Array[BoundaryItem]) -> BoundaryMatrixpub(all) struct BoundaryReport {
verdict : String
score : Int
duplicate_risk : String
new_contribution_count : Int
auxiliary_count : Int
related_count : Int
out_of_scope_count : Int
incomplete_new_count : Int
findings : Array[BoundaryFinding]
} derive(Eq, Debug)pub(all) struct DocProofReport {
snippet_count : Int
runnable_snippet_count : Int
source_count : Int
unclear_source_count : Int
license_issue_count : Int
verdict : String
snippets : Array[DocSnippet]
sources : Array[SourceEvidence]
} derive(Eq, Debug)fn DossierEvidence::DossierEvidence(id? : String, title? : String, source? : String, proof_path? : String, summary? : String, required? : Bool, complete? : Bool) -> DossierEvidencepub(all) struct DossierProfile {
applicant : String
contact : String
project_title : String
package_name : String
repository : String
deadline : String
review_notice : String
relation_statement : String
evidence : Array[DossierEvidence]
timeline : Array[DossierTimelineEvent]
risks : Array[DossierRisk]
} derive(Eq, Debug)fn DossierProfile::DossierProfile(applicant? : String, contact? : String, project_title? : String, package_name? : String, repository? : String, deadline? : String, review_notice? : String, relation_statement? : String, evidence? : Array[DossierEvidence], timeline? : Array[DossierTimelineEvent], risks? : Array[DossierRisk]) -> DossierProfilepub(all) struct DossierReport {
verdict : String
score : Int
ready : Bool
evidence_count : Int
complete_evidence_count : Int
missing_required_count : Int
unresolved_risk_count : Int
timeline_count : Int
action_count : Int
sections : Array[DossierSection]
actions : Array[String]
findings : Array[DossierFinding]
} derive(Eq, Debug)fn DossierRisk::DossierRisk(id? : String, title? : String, level? : String, mitigation? : String, resolved? : Bool) -> DossierRiskfn DossierSection::DossierSection(title? : String, body? : String, evidence_ids? : Array[String]) -> DossierSectionfn DossierTimelineEvent::DossierTimelineEvent(date? : String, actor? : String, action? : String, evidence_id? : String) -> DossierTimelineEventfn ExtensionEvidence::ExtensionEvidence(feature? : String, implementation? : String, proof? : String, value? : String, implemented? : Bool) -> ExtensionEvidencefn IdentityEvidence::IdentityEvidence(key? : String, value? : String, source? : String, note? : String) -> IdentityEvidencepub(all) struct IdentityReport {
canonical : SubmissionIdentity
evidence : Array[IdentityEvidence]
findings : Array[IdentityFinding]
score : Int
verdict : String
} derive(Eq, Debug)pub(all) struct ProjectSnapshot {
name : String
moon_mod : String
readme : String
ci_workflow : String
license_text : String
examples : Array[String]
tests : Array[String]
commands : Array[String]
changelog : String
design_notes : String
issue_notes : String
commit_count : Int
repository_public : Bool
mooncakes_published : Bool
mooncakes_owner : String
mooncakes_package : String
} derive(Eq, Debug)fn ProjectSnapshot::ProjectSnapshot(name? : String, moon_mod? : String, readme? : String, ci_workflow? : String, license_text? : String, examples? : Array[String], tests? : Array[String], commands? : Array[String], changelog? : String, design_notes? : String, issue_notes? : String, commit_count? : Int, repository_public? : Bool, mooncakes_published? : Bool, mooncakes_owner? : String, mooncakes_package? : String) -> ProjectSnapshotfn ReviewFeedback::ReviewFeedback(project_title? : String, applicant_package? : String, repository? : String, notice? : String, prior_work? : Array[PriorWork], relation_statement? : String, extension_evidence? : Array[ExtensionEvidence], resubmit_deadline? : String) -> ReviewFeedbackpub(all) struct ReviewResponse {
verdict : String
score : Int
ready_to_resubmit : Bool
overlap_risk : String
prior_count : Int
implemented_extension_count : Int
findings : Array[ReviewFinding]
} derive(Eq, Debug)pub(all) struct SourceEvidence {
name : String
kind : SourceKind
source_url : String
license : String
note : String
} derive(Eq, Debug)fn SourceEvidence::SourceEvidence(name? : String, kind? : SourceKind, source_url? : String, license? : String, note? : String) -> SourceEvidencefn SubmissionIdentity::SubmissionIdentity(applicant_name? : String, phone? : String, email? : String, github_owner? : String, repository_name? : String, mooncakes_owner? : String, package_name? : String) -> SubmissionIdentityfn acceptance_identity_markdown(canonical : SubmissionIdentity, snapshot : ProjectSnapshot, submission_text : String, git_user_name? : String, git_user_email? : String, git_remote? : String) -> Stringfn acceptance_identity_report(canonical : SubmissionIdentity, snapshot : ProjectSnapshot, submission_text : String, git_user_name? : String, git_user_email? : String, git_remote? : String) -> IdentityReportfn identity_consistency(canonical : SubmissionIdentity, evidence : Array[IdentityEvidence]) -> IdentityReportfn rules_markdown() -> Stringfn snapshot_from_bundle(bundle : String, project_name? : String, commit_count? : Int, repository_public? : Bool, mooncakes_published? : Bool, mooncakes_owner? : String, mooncakes_package? : String) -> ProjectSnapshotfn snapshot_from_files(files : Array[NamedFile], project_name? : String, commit_count? : Int, repository_public? : Bool, mooncakes_published? : Bool, mooncakes_owner? : String, mooncakes_package? : String) -> ProjectSnapshotMoonBit-native review feedback, overlap disclosure and resubmission proof toolkit