///|
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")),
  }
}