Skip to content

Job Entertainment

job_entertainment — G6 Entertainment job agent.

Cluster: Job Agents | Type: component | MCP Tools: 26

Overview

Domain-specialist job agent for entertainment industry professionals including producers, event coordinators, and content programmers. Plans events, curates content catalogues, manages production schedules, coordinates audience engagement, reviews performance outcomes, and analyses viewership or attendance data — all within G6's safety-bounded, audit-trailed JobAgentBlock framework.

When to use:

  • Planning a live event from concept through run-of-show schedule and crew allocation
  • Curating a content playlist or release schedule optimised for audience retention metrics
  • Reviewing post-event performance against KPIs and generating an outcomes report
  • Analysing streaming or ticket-sales viewership data to inform future programming

Example:

from mvp.job_entertainment import JobEntertainmentBlock, JobEntertainmentInput

block = JobEntertainmentBlock()
result = block.infer(JobEntertainmentInput(
    task="Plan a 3-day music festival for 15,000 attendees including stage schedules, artist logistics, and contingency plan",
    context={"venue": "Centennial Park", "budget_aud": 2_000_000, "genres": ["indie", "electronic", "hip-hop"]},
))
# result.ok → True; result.value → JobEntertainmentOutput with result, artifacts

Works well with: job_framework, job_creative_media, job_marketing

Launch Caveat

Deterministic by default

job_entertainment is tuned for fast first-run MCP onboarding. Core planning, scheduling, budgeting, ratings, rights, and audience-analysis tools run locally and deterministically by default.

Deep enrichment is intentionally opt-in. By default the component does not call optional grounding, live search, LLM-backed debate, Experta, or Bayesian enrichment adapters. This avoids slow startup, unavailable-service failures, and surprise API cost during the launch-path install experience.

For design-partner or expert workflows that need richer market context, enable enrichment explicitly with G6_JOB_ENTERTAINMENT_DEEP_INTEGRATIONS=1 or G6_JOB_DEEP_INTEGRATIONS=1. Live web search also requires G6_JOB_LIVE_SEARCH=1; LLM-backed debate requires G6_JOB_LIVE_LLM=1 and a configured backend. Treat enriched output as advisory support, not legal, licensing, safety, or production sign-off.

Distribution platform and territory data are served by InMemoryDistributionAdapter unless a future live backend is explicitly added. Capability discovery and adapter outputs label this as sample_data=true, simulation_only=true, and live_distribution_backend=false; external market claims remain qualified-draft without live evidence.

audit_rights, assess_ratings, and plan_event surface human_review_required as an advisory signal. The signal does not silently block Tier-2 MCP execution; production reliance still requires the inherited reviewer-signature gate or an external qualified reviewer.

Public API

JobEntertainmentBlock(JobAgentBlock)

G6 Entertainment job agent - Tier 1 block with MCP delegation.

Field Type Default
name str 'job_entertainment'
sector SectorClassification field(default_factory=lambda: _SECTOR)
toolkit ToolkitSpec \| None field(default_factory=lambda: JOB_TOOLKITS.get('entertainment'))
mcp_module str 'mvp.job_entertainment.entertainment_mcp.server'
agentic_planner object \| None None
capabilities ClassVar[set[type]] {Extensible, HumanLearnable, Collaborative, ProblemSolvable, KnowledgeGrounded, Memorable, AgentCommunicable}

Methods:

infer(data: Any)

JobEntertainmentInput(JobInput)

Input for the Entertainment job agent.

JobEntertainmentOutput(JobOutput)

JobEntertainmentMCPBlock(AIBlock[MCPJobEntertainmentInput, MCPJobEntertainmentOutput, dict])

26-op MCP block for the Entertainment job agent.

Field Type Default
name str 'job_entertainment_mcp'
state dict field(default_factory=dict)
db_path str ':memory:'
resource_bounds ResourceBounds field(default_factory=ResourceBounds)
usage ResourceUsage field(default_factory=ResourceUsage)

Methods:

infer(data: MCPJobEntertainmentInput) -> Result[MCPJobEntertainmentOutput]

MCPJobEntertainmentInput(BaseModel)

Input to JobEntertainmentMCPBlock - 26-op dispatch.

Field Type Default
op Literal['plan_event', 'curate_content', 'manage_schedule', 'engage_audience', 'review_performance', 'analyze_viewership', 'evaluate_content', 'assess_ratings', 'benchmark_engagement', 'audit_rights', 'create_proposal', 'review_deliverable', 'delegate_task', 'report_status', 'request_feedback', 'store_artifact', 'retrieve_artifact', 'list_artifacts', 'search_artifacts', 'archive', 'plan_sprint', 'track_progress', 'reflect_on_outcome', 'list_patterns', 'get_capabilities', 'info'] required
task str ''
context dict[str, Any] Field(default_factory=dict)
parameters dict[str, Any] Field(default_factory=dict)
artifact_id str ''
query str ''

MCPJobEntertainmentOutput(BaseModel)

Output from JobEntertainmentMCPBlock.

Field Type Default
op str required
result str ''
artifacts list[dict[str, Any]] Field(default_factory=list)
records list[dict[str, Any]] Field(default_factory=list)
message str ''
count int 0
found bool False
metadata dict[str, Any] Field(default_factory=dict)
degraded bool False
degradation_reason str \| None None
completion_state Literal['verified', 'qualified-draft', 'blocked-escalated'] 'qualified-draft'
warning_card dict[str, Any] Field(default_factory=dict)
evidence dict[str, Any] Field(default_factory=dict)
request_id str ''
run_id str ''

EntertainmentStore(JobStore)

SQLite store for the Entertainment job agent.

Constructor:

Parameter Type Default
db_path str ':memory:'

Methods:

create_production(title: str, production_type: str = '', genre: str = '', budget: float = 0, revenue: float = 0, status: str = 'development', data: dict | None = None) -> str

get_production(production_id: str) -> dict | None

list_productions(status: str = '') -> list[dict]

update_production(production_id: str, **fields: Any) -> bool

create_talent(name: str, role_type: str = '', representation: str = '', credits: list | None = None, availability: str = 'available', rate: float = 0, data: dict | None = None) -> str

get_talent(talent_id: str) -> dict | None

list_talent(role_type: str = '', availability: str = '') -> list[dict]

create_contract(production_id: str, talent_id: str, deal_type: str = '', compensation: dict | None = None, rights: dict | None = None, term: str = '', status: str = 'draft') -> str

get_contract(contract_id: str) -> dict | None

list_contracts(production_id: str = '', talent_id: str = '', status: str = '') -> list[dict]

create_schedule(production_id: str, title: str = '', schedule_type: str = '', start_date: str = '', end_date: str = '', locations: list | None = None, resources: list | None = None, status: str = 'planned') -> str

get_schedule(schedule_id: str) -> dict | None

list_schedules(production_id: str = '', schedule_type: str = '') -> list[dict]

create_royalty(contract_id: str, period: str = '', gross_revenue: float = 0, deductions: dict | None = None, net_revenue: float = 0, royalty_rate: float = 0, amount_due: float = 0, status: str = 'pending') -> str

get_royalty(royalty_id: str) -> dict | None

list_royalties(contract_id: str = '', period: str = '', status: str = '') -> list[dict]

Functions

assemble_review_text(output: Any) -> str

Collect the reviewable free text from a JobEntertainmentOutput (duck-typed).

assess_entertainment_output(output: Any, qa_block: Any | None = None, generate: Any | None = None) -> GroundedRunResult

Run grounded four-valued QA over an entertainment output.

MCP Tools

Operation Source
plan_event entertainment_mcp
curate_content entertainment_mcp
manage_schedule entertainment_mcp
engage_audience entertainment_mcp
review_performance entertainment_mcp
analyze_viewership entertainment_mcp
evaluate_content entertainment_mcp
assess_ratings entertainment_mcp
benchmark_engagement entertainment_mcp
audit_rights entertainment_mcp
create_proposal entertainment_mcp
review_deliverable entertainment_mcp
delegate_task entertainment_mcp
report_status entertainment_mcp
request_feedback entertainment_mcp
store_artifact entertainment_mcp
retrieve_artifact entertainment_mcp
list_artifacts entertainment_mcp
search_artifacts entertainment_mcp
archive entertainment_mcp
plan_sprint entertainment_mcp
track_progress entertainment_mcp
reflect_on_outcome entertainment_mcp
list_patterns entertainment_mcp
get_capabilities entertainment_mcp
info entertainment_mcp