Pharos Framework Operations, Jobs, and Benchmark Contracts
Pharos cannot make credible Django, FastAPI, or Rails comparison claims if jobs, deploys, and benchmark claims are informal. They need explicit contracts.
Job Contract
Every job surface must specify:
job_idpayload_shapeenqueue_sourceretry_policyschedule_modeidempotency_keytrace_linkage
Example shape:
{
"job_id": "notify_invoice_approved",
"payload_shape": ["invoice_id", "tenant_id", "recipient_user_id"],
"enqueue_source": "approve_invoice action",
"retry_policy": "max_retries=5 exponential_backoff",
"schedule_mode": "immediate",
"idempotency_key": "invoice_id + recipient_user_id + template_id",
"trace_linkage": "workflow_transition_trace_id"
}
Deployment Topology Contract
Every supported topology must specify:
topology_idapp_runtime_shapedb_runtime_shapestorage_runtime_shapehealth_probe_surfacebackup_restore_surfacemigration_gate_surface
Required topologies:
local_single_processlocal_split_app_and_dbmanaged_db_app_server
Environment Contract
Every deployable app must specify or derive through shared config plus app-local override:
environmentapps_dirfor runtime discoveryrequired_env_varsrequired_secretsoptional_feature_flagsconfig_validation_reportconfig_override_precedence
Pharos should enforce:
- shared
pharos.confas the framework-wide baseline <app>/app.confas the app-local override surface- secret-bearing values referenced through environment-backed indirection such as
db_password_env - operator-visible validation through
doctoranddeploy check
Pharos should reject:
- undeclared required secrets
- topology-specific config hidden outside the deployment contract
- secret material checked into framework or app config when an environment reference is required
Health and Drift Contract
Every deployed app must specify:
health_endpointreadiness_endpointliveness_endpointmigration_status_reportdrift_status_reportrestore_verification_report
Benchmark Scenario Contract
Every benchmark scenario must specify:
scenario_idapp_familycompetitor_setfixture_datasetworkload_shapemeasured_metricshardware_runtime_assumptions
Required app families:
generated_admin_crudauthenticated_workflowlist_detail_filter_searchbackground_job_triggermigration_deploy_restore
Required competitor set:
djangofastapirails
Scorecard Contract
Every comparative scorecard must specify:
scorecard_idscenario_idframeworkresult_timestampmetricspass_fail_claims
Required metrics:
setup_effortmedian_latency_msp95_latency_mscrud_throughputcold_start_msmemory_mbmigration_time_mstest_suite_time_msdeploy_restore_time_msobservability_replay_completeness
Pharos should reject benchmark claims that lack fixed scenarios, fixed competitor implementations, or fixed metric schema.