///|
fn contract(id : String, path : String) -> @pack.ContractRef {
@pack.contract_ref(id, "1.0.0", path)
}
///|
fn schema(id : String) -> @pack.ContractRef {
contract(id, "schemas/" + id + ".schema.json")
}
///|
fn tool(
id : String,
input : String,
output : String,
authority : @pack.AuthorityClass,
evidence_outputs : Array[String],
idempotent? : Bool = true,
review_required? : Bool = false,
) -> @pack.ToolDeclaration {
@pack.tool_declaration(
id,
"mooncast",
input,
output,
authority,
idempotent~,
evidence_outputs~,
review_required~,
)
}
///|
pub fn manifest() -> @pack.MoonPackManifest {
{
id: "mooncast",
version: "0.2.0",
display_name: "Mooncast Systematic AIGC Production Studio",
product_id: "mooncast",
kind: DomainPack,
required_runtime_extensions: ["moonclaw"],
book_templates: [
contract("production-book", "book/production-book.md"),
contract("campaign-book", "book/campaign-book.md"),
],
schemas: [
schema("creative-brief"),
schema("generation-request"),
schema("asset-provenance"),
schema("review-decision"),
schema("delivery-package"),
schema("publication-receipt"),
schema("production-project"),
schema("creative-artifact"),
schema("creative-revision-request"),
schema("creative-decision-request"),
schema("creative-decision"),
schema("model-routing-plan"),
schema("model-routing-decision"),
schema("generation-attempt-v2"),
schema("shot-qc-finding"),
schema("shot-qc-decision"),
schema("master-decision"),
schema("delivery-package-v3"),
schema("delivery-build-profile"),
schema("delivery-build-request"),
schema("delivery-build-action"),
schema("delivery-build-artifact"),
schema("delivery-build"),
schema("delivery-build-acceptance"),
schema("client-portal-create"),
schema("client-portal"),
schema("client-portal-control"),
schema("client-portal-projection"),
schema("client-annotation-request"),
schema("client-annotation"),
schema("client-decision-request"),
schema("client-decision-receipt"),
schema("commercial-audit-receipt"),
schema("qualified-lead"),
schema("lead-qualification-decision"),
schema("scoped-quote"),
schema("quote-internal-decision"),
schema("quote-client-acceptance"),
schema("capacity-resource"),
schema("capacity-reservation"),
schema("capacity-board"),
schema("margin-forecast"),
schema("quote-conversion"),
schema("commercial-intake-audit-receipt"),
schema("milestone-billing-create"),
schema("milestone-billing-entry"),
schema("milestone-billing-action"),
schema("repeat-order-request"),
schema("repeat-order-proposal"),
schema("delivery-milestone-acceptance"),
schema("publication-authorization"),
schema("publication-observation"),
schema("performance-economics-review"),
schema("governance-invalidation"),
schema("gate-decision"),
schema("episode-plan"),
schema("shot-record"),
schema("provider-route"),
schema("provider-adapter-config"),
schema("provider-request-plan"),
schema("provider-execution-authority"),
schema("provider-execution-job"),
schema("provider-json-result"),
schema("provider-result-artifact"),
schema("routed-execution-create"),
schema("routed-execution"),
schema("routed-execution-action"),
schema("production-coordinator-run-request"),
schema("production-coordinator-run-result"),
schema("production-coordinator-qc-request"),
schema("production-coordinator-qc-result"),
schema("master-provenance"),
schema("delivery-package-v2"),
schema("analytics-snapshot"),
schema("economics-ledger"),
schema("editor-project"),
schema("editor-edit-command"),
schema("editor-command-log-record"),
schema("editor-timeline"),
schema("editor-transition"),
schema("editor-frozen-transition"),
schema("editor-media-ref"),
schema("editor-media-analysis"),
schema("editor-media-registry"),
schema("editor-store-record"),
schema("editor-migration-receipt"),
schema("editor-preview-authority"),
schema("editor-preview-session"),
schema("editor-interactive-preview"),
schema("editor-review-preview-spec"),
schema("editor-preview-cache-report"),
schema("editor-preview-cache-index"),
schema("editor-preview"),
schema("editor-render-plan"),
schema("editor-export-job"),
schema("editor-export"),
schema("editor-generated-take"),
schema("editor-aigc-artifact"),
schema("editor-production-intent"),
schema("editor-production-import"),
schema("editor-local-media-intake"),
schema("editor-local-media-receipt"),
schema("editor-local-media-binding"),
schema("editor-production-export-request"),
schema("editor-master-promotion"),
schema("final-deliverable-evidence"),
schema("production-outcome-evidence"),
schema("external-handoff-request"),
schema("bookkeeper-ingress-bundle"),
schema("external-handoff-receipt-reference"),
schema("moonwiki-needs-export"),
schema("needs-intake-decision"),
schema("project-needs-intake-binding"),
schema("asset-factory-plan"),
schema("asset-generation-variant"),
schema("asset-qc-finding"),
schema("approved-reusable-asset"),
schema("shot-asset-binding"),
schema("animatic-plan"),
schema("animatic-render-attempt"),
schema("rendered-animatic"),
schema("rendered-animatic-approval"),
schema("postprocess-task"),
schema("postprocess-output"),
schema("postprocess-import-binding"),
schema("qc-analyzer-task"),
schema("qc-analyzer-finding"),
schema("qc-analyzer-receipt"),
schema("control-tower-query"),
schema("production-control-tower"),
schema("control-tower-actuals-input"),
schema("control-tower-operating-actuals"),
schema("control-tower-exception-assignment-input"),
schema("control-tower-exception-assignment"),
schema("host-authority-grant"),
],
tools: [
tool(
"brief.validate",
"creative-brief",
"creative-brief",
SandboxExecution,
["records/briefs"],
),
tool(
"asset.generate",
"generation-request",
"asset-provenance",
ExternalEffect,
["raw/generations"],
review_required=true,
),
tool(
"asset.review",
"asset-provenance",
"review-decision",
WorkspaceMutation,
["records/reviews"],
review_required=true,
),
tool(
"delivery.package",
"review-decision",
"delivery-package",
SandboxExecution,
["records/deliveries"],
),
tool(
"project.create",
"creative-brief",
"production-project",
SandboxExecution,
["projects", "project-events"],
),
tool(
"commercial-intake.lead.record",
"qualified-lead",
"qualified-lead",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
idempotent=false,
),
tool(
"commercial-intake.lead.qualify",
"qualified-lead",
"lead-qualification-decision",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
review_required=true,
),
tool(
"commercial-intake.quote.scope",
"qualified-lead",
"scoped-quote",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
idempotent=false,
),
tool(
"commercial-intake.quote.revise",
"scoped-quote",
"scoped-quote",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
),
tool(
"commercial-intake.quote.internal-decide",
"scoped-quote",
"quote-internal-decision",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
review_required=true,
),
tool(
"commercial-intake.quote.client-accept",
"scoped-quote",
"quote-client-acceptance",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
review_required=true,
),
tool(
"commercial-intake.capacity.resource",
"capacity-resource",
"capacity-resource",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
idempotent=false,
review_required=true,
),
tool(
"commercial-intake.capacity.reserve",
"scoped-quote",
"capacity-reservation",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
idempotent=false,
review_required=true,
),
tool(
"commercial-intake.capacity.reschedule",
"capacity-reservation",
"capacity-reservation",
WorkspaceMutation,
["commercial-intake/studio.json", "commercial-intake/audit.ndjson"],
review_required=true,
),
tool(
"commercial-intake.capacity.observe",
"capacity-board",
"capacity-board",
Observe,
[],
),
tool(
"commercial-intake.quote.convert",
"scoped-quote",
"quote-conversion",
WorkspaceMutation,
[
"commercial-intake/studio.json", "commercial-intake/audit.ndjson", "projects",
"project-events",
],
review_required=true,
),
tool(
"creative.artifact.revise",
"creative-revision-request",
"creative-artifact",
WorkspaceMutation,
["projects", "project-events"],
),
tool(
"creative.artifact.decide",
"creative-decision-request",
"creative-decision",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"project.advance",
"gate-decision",
"production-project",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"model-routing.plan.revise",
"model-routing-plan",
"model-routing-plan",
WorkspaceMutation,
["projects", "project-events"],
),
tool(
"model-routing.plan.decide",
"model-routing-plan",
"model-routing-decision",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"shot.attempt.record",
"generation-attempt-v2",
"generation-attempt-v2",
WorkspaceMutation,
["projects", "project-events"],
),
tool(
"shot.qc.finding.record",
"shot-qc-finding",
"shot-qc-finding",
WorkspaceMutation,
["projects", "project-events"],
),
tool(
"shot.qc.decide",
"shot-qc-finding",
"shot-qc-decision",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"master.decide",
"master-provenance",
"master-decision",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"delivery.package.revise",
"master-decision",
"delivery-package-v3",
WorkspaceMutation,
["projects", "project-events"],
),
tool(
"delivery.milestone.decide",
"delivery-package-v3",
"delivery-milestone-acceptance",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"publication.authorize",
"delivery-package-v3",
"publication-authorization",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"publication.observe",
"publication-authorization",
"publication-observation",
Observe,
["projects", "project-events"],
),
tool(
"performance.review",
"publication-observation",
"performance-economics-review",
CognitiveMaintenance,
["projects", "project-events"],
review_required=true,
),
tool(
"routed-execution.create",
"routed-execution-create",
"routed-execution",
WorkspaceMutation,
[
"provider-executions/routed", "provider-executions/jobs", "project-events",
],
review_required=true,
),
tool(
"asset-factory.plan.record",
"asset-factory-plan",
"asset-factory-plan",
WorkspaceMutation,
["asset-factory/plans"],
review_required=true,
),
tool(
"asset-factory.generate",
"asset-factory-plan",
"asset-generation-variant",
ExternalEffect,
["asset-factory/variants", "provider-executions"],
idempotent=false,
review_required=true,
),
tool(
"asset-factory.review",
"asset-qc-finding",
"approved-reusable-asset",
WorkspaceMutation,
["asset-factory/findings", "asset-factory/approved-assets"],
review_required=true,
),
tool(
"asset-factory.bind-shots",
"approved-reusable-asset",
"shot-asset-binding",
WorkspaceMutation,
["asset-factory/shot-bindings"],
review_required=true,
),
tool(
"animatic.plan.record",
"animatic-plan",
"animatic-plan",
WorkspaceMutation,
["animatic/plans"],
review_required=true,
),
tool(
"animatic.render",
"animatic-plan",
"rendered-animatic",
SandboxExecution,
["animatic/attempts", "animatic/media", "animatic/renders"],
idempotent=false,
review_required=true,
),
tool(
"animatic.approve",
"rendered-animatic",
"rendered-animatic-approval",
WorkspaceMutation,
["animatic/approvals", "projects", "project-events"],
review_required=true,
),
tool(
"postprocess.task.record",
"postprocess-task",
"postprocess-task",
WorkspaceMutation,
["postprocess/tasks"],
review_required=true,
),
tool(
"postprocess.execute",
"postprocess-task",
"postprocess-output",
ExternalEffect,
["postprocess/outputs", "provider-executions"],
idempotent=false,
review_required=true,
),
tool(
"postprocess.import",
"postprocess-output",
"postprocess-import-binding",
WorkspaceMutation,
["postprocess/bindings", "editor-media"],
review_required=true,
),
tool(
"qc-analyzer.task.record",
"qc-analyzer-task",
"qc-analyzer-task",
WorkspaceMutation,
["automated-qc/tasks"],
review_required=true,
),
tool(
"qc-analyzer.execute",
"qc-analyzer-task",
"qc-analyzer-receipt",
ExternalEffect,
[
"automated-qc/receipts", "automated-qc/findings", "provider-executions",
"projects", "project-events",
],
idempotent=false,
review_required=true,
),
tool(
"routed-execution.execute",
"routed-execution-action",
"provider-execution-job",
ExternalEffect,
["provider-executions", "projects", "project-events"],
idempotent=false,
review_required=true,
),
tool(
"routed-execution.control",
"routed-execution-action",
"routed-execution",
WorkspaceMutation,
[
"provider-executions/routed", "provider-executions/jobs", "project-events",
],
review_required=true,
),
tool(
"production-coordinator.run-pending",
"production-coordinator-run-request",
"production-coordinator-run-result",
ExternalEffect,
["provider-executions", "projects", "project-events"],
idempotent=false,
review_required=true,
),
tool(
"production-coordinator.confirm-qc",
"production-coordinator-qc-request",
"production-coordinator-qc-result",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"provider-artifact.attach",
"provider-result-artifact",
"generation-attempt-v2",
WorkspaceMutation,
["projects", "project-events"],
),
tool(
"delivery-build.plan",
"delivery-build-request",
"delivery-build",
WorkspaceMutation,
["delivery-builds/records", "project-events"],
),
tool(
"delivery-build.execute",
"delivery-build-action",
"delivery-build",
SandboxExecution,
[
"delivery-builds/artifacts", "delivery-builds/records", "project-events",
],
),
tool(
"delivery-build.control",
"delivery-build-action",
"delivery-build",
WorkspaceMutation,
["delivery-builds/records", "project-events"],
),
tool(
"delivery-build.accept",
"delivery-build-acceptance",
"delivery-milestone-acceptance",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"delivery-build.download",
"delivery-build",
"delivery-build-artifact",
Observe,
[],
),
tool(
"client-portal.create",
"client-portal-create",
"client-portal",
WorkspaceMutation,
[
"commercial-portal/records", "commercial-portal/audit", "project-events",
],
idempotent=false,
review_required=true,
),
tool(
"client-portal.control",
"client-portal-control",
"client-portal",
WorkspaceMutation,
[
"commercial-portal/records", "commercial-portal/audit", "project-events",
],
review_required=true,
),
tool(
"client-portal.observe",
"client-portal",
"client-portal-projection",
Observe,
["commercial-portal/audit"],
),
tool(
"client-portal.master.stream",
"client-portal",
"master-provenance",
Observe,
["commercial-portal/audit"],
),
tool(
"client-portal.annotate",
"client-annotation-request",
"client-annotation",
WorkspaceMutation,
["commercial-portal/records", "commercial-portal/audit"],
idempotent=false,
),
tool(
"client-portal.decide",
"client-decision-request",
"client-decision-receipt",
WorkspaceMutation,
[
"commercial-portal/records", "commercial-portal/audit", "projects", "project-events",
],
idempotent=false,
review_required=true,
),
tool(
"client-portal.download",
"client-portal",
"delivery-build-artifact",
Observe,
["commercial-portal/audit"],
),
tool(
"billing.milestone.record",
"milestone-billing-create",
"milestone-billing-entry",
WorkspaceMutation,
[
"commercial-portal/records", "commercial-portal/audit", "project-events",
],
idempotent=false,
review_required=true,
),
tool(
"billing.state.record",
"milestone-billing-action",
"milestone-billing-entry",
WorkspaceMutation,
[
"commercial-portal/records", "commercial-portal/audit", "project-events",
],
review_required=true,
),
tool(
"repeat-order.create",
"repeat-order-request",
"repeat-order-proposal",
WorkspaceMutation,
[
"projects", "commercial-portal/records", "commercial-portal/audit", "project-events",
],
idempotent=false,
review_required=true,
),
tool(
"shots.generate",
"production-project",
"asset-provenance",
ExternalEffect,
["assets", "records", "project-events"],
review_required=true,
),
tool(
"master.assemble",
"production-project",
"master-provenance",
SandboxExecution,
["masters", "master-provenance"],
),
tool(
"production.review",
"master-provenance",
"review-decision",
WorkspaceMutation,
["projects", "project-events"],
review_required=true,
),
tool(
"delivery.prepare",
"production-project",
"delivery-package-v2",
SandboxExecution,
["deliveries", "project-events"],
),
tool(
"analytics.ingest",
"analytics-snapshot",
"analytics-snapshot",
Observe,
["projects", "project-events"],
),
tool(
"economics.reconcile",
"production-project",
"economics-ledger",
CognitiveMaintenance,
["projects", "project-events"],
),
tool(
"editor.production.import",
"editor-production-intent",
"editor-production-import",
WorkspaceMutation,
["editor/projects/records", "editor/projects/journals", "editor/media"],
),
tool(
"editor.media.intake",
"editor-local-media-intake",
"editor-local-media-receipt",
WorkspaceMutation,
["editor/media-intakes", "editor/media", "editor/projects/records"],
review_required=true,
),
tool(
"editor.command.apply",
"editor-edit-command",
"editor-project",
WorkspaceMutation,
["editor/projects/records", "editor/projects/journals"],
),
tool(
"editor.preview.plan",
"editor-project",
"editor-render-plan",
SandboxExecution,
[],
),
tool(
"editor.preview.start",
"editor-render-plan",
"editor-preview-session",
SandboxExecution,
["editor/previews", "editor/projects/preview-authorities"],
),
tool(
"editor.preview.cache",
"editor-render-plan",
"editor-preview-cache-report",
SandboxExecution,
["editor/preview-cache", "editor/media"],
),
tool(
"editor.export.create",
"editor-render-plan",
"editor-export-job",
SandboxExecution,
["editor/export-jobs"],
),
tool(
"editor.production.export",
"editor-production-export-request",
"editor-export",
WorkspaceMutation,
["editor/export-jobs", "editor/exports"],
),
tool(
"editor.master.promote",
"editor-master-promotion",
"master-provenance",
WorkspaceMutation,
["masters", "master-provenance", "project-events"],
review_required=true,
),
tool(
"handoff.final-deliverable.evidence",
"final-deliverable-evidence",
"final-deliverable-evidence",
WorkspaceMutation,
["handoff-outbox/final-deliverable-evidence"],
),
tool(
"handoff.outcome.evidence",
"production-outcome-evidence",
"production-outcome-evidence",
WorkspaceMutation,
["handoff-outbox/production-outcome-evidence"],
),
tool(
"handoff.moonflow.prepare",
"external-handoff-request",
"external-handoff-request",
SandboxExecution,
[
"handoff-outbox/external-handoff-request", "handoff-outbox/bookkeeper-ingress-bundle",
],
review_required=true,
),
tool(
"handoff.receipt-reference.record",
"external-handoff-receipt-reference",
"external-handoff-receipt-reference",
Observe,
["handoff-outbox/external-handoff-receipt-reference"],
),
tool(
"control-tower.observe",
"control-tower-query",
"production-control-tower",
Observe,
[],
),
tool(
"control-tower.actuals.record",
"control-tower-actuals-input",
"control-tower-operating-actuals",
WorkspaceMutation,
["control-tower/actuals"],
review_required=true,
),
tool(
"control-tower.exception.assign",
"control-tower-exception-assignment-input",
"control-tower-exception-assignment",
WorkspaceMutation,
["control-tower/assignments"],
review_required=true,
),
],
workflows: [
contract("brief-to-delivery", "workflows/brief-to-delivery.md"),
contract("systematic-long-form", "workflows/systematic-long-form.md"),
contract("performance-feedback", "workflows/performance-feedback.md"),
contract("moonflow-closed-loop", "workflows/moonflow-closed-loop.md"),
contract(
"moonfind-review-episode", "workflows/moonfind-review-episode.md",
),
],
skills: [
contract("mooncast-producer", "skills/mooncast-producer/SKILL.md"),
contract("episode-producer", "skills/episode-producer.md"),
contract("campaign-producer", "skills/campaign-producer.md"),
],
policies: [
contract("rights-clearance", "policies/rights-clearance.md"),
contract("content-safety", "policies/content-safety.md"),
contract("content-labeling", "policies/content-labeling.md"),
contract("human-review", "policies/human-review.md"),
contract("gate-governance", "policies/gate-governance.md"),
contract("budget-control", "policies/budget-control.md"),
contract("continuity-qc", "policies/continuity-qc.md"),
contract("analytics-economics", "policies/analytics-economics.md"),
contract(
"deprecated-campaign-compatibility-aliases", "policies/deprecated-campaign-compatibility-aliases.md",
),
],
provider_ports: [
contract("model-generation", "providers/model-generation.port.md"),
contract("media-storage", "providers/media-storage.port.md"),
contract("publishing", "providers/publishing.port.md"),
contract("shot-generation", "providers/shot-generation.port.md"),
contract("text-generation", "providers/text-generation.port.md"),
contract("image-generation", "providers/image-generation.port.md"),
contract("video-generation", "providers/video-generation.port.md"),
contract("voice-generation", "providers/voice-generation.port.md"),
contract("music-generation", "providers/music-generation.port.md"),
contract("lip-sync", "providers/lip-sync.port.md"),
contract("translation", "providers/translation.port.md"),
contract("upscale", "providers/upscale.port.md"),
contract("semantic-qc", "providers/semantic-qc.port.md"),
contract("timeline-compositor", "providers/timeline-compositor.port.md"),
contract("analytics", "providers/analytics.port.md"),
contract("economics", "providers/economics.port.md"),
],
schedules: [
@pack.schedule_declaration(
"performance-feedback-daily", "0 9 * * *", "Asia/Shanghai", "performance-feedback",
),
],
app_entrypoints: [
@pack.app_entrypoint(
"production-studio", "/apps/mooncast/studio", "episode-producer",
),
@pack.app_entrypoint(
"cut-editor", "/apps/mooncast/editor", "editor-operator",
),
@pack.app_entrypoint(
"client-review", "/apps/mooncast/client", "client-reviewer",
),
@pack.app_entrypoint(
"campaign-studio", "/apps/mooncast/studio", "deprecated-campaign-operator-compatibility-alias",
),
],
migrations: [contract("mooncast-install", "migrations/install.md")],
evaluations: [
contract("delivery-acceptance", "evaluations/delivery-acceptance.md"),
contract("systematic-production", "evaluations/systematic-production.md"),
],
uninstall_contract: Some(contract("mooncast-uninstall", "UNINSTALL.md")),
}
}