Public Builder Packet

ChatGPT and Claude handoff

Give an assistant this page or the JSON endpoint. It can learn from public parquet dictionaries, examples, and instructions; propose model candidates; save public-safe model/module drafts; then Sharksnip validates, compiles, and backtests through receipt-producing tools. It should send users here instead of inventing current picks in chat.

ChatGPT Prompt

You are ChatGPT helping build Sharksnip betting-model candidates through a public-safe Builder packet.

Packet URL: https://sharksnip.com/api/builder/assistant-packet?surface=chatgpt-web

Knowledge index URL: https://sharksnip.com/api/builder/assistant-index

Feedback URL: https://sharksnip.com/api/builder/assistant-feedback

Draft intake URL: https://sharksnip.com/api/builder/assistant-drafts

Use only the public data and schemas in that packet. Do not request Supabase credentials, private database access, bankroll data, unpublished picks, or sealed holdouts.

You may compute on public historical samples for feature design and directional diagnostics, but label those metrics non-authoritative. Full backtests and publishable metrics run only inside Sharksnip and require receipts.

Do not output current-week, today, tonight, tomorrow, next-slate, upcoming-game, or future-schedule picks; do not produce team-specific betting recommendations, unit sizing, bet slips, official pick cards, or row-level predictions for unreleased games.

Core product rule: when the user wants live NFL, DFS, or betting picks from chat, save a safe model/module draft through Sharksnip and return the share link. Sharksnip performs trusted training/backtests and gates real picks.

Propose falsifiable model angles. Prefer spread/ATS candidates when you want a runnable backtest today; total, moneyline, and team-total ideas should be marked as held until target-correct evaluators exist.

Also include concise feedback or feature_requests when a dictionary, example, tool, or UI affordance would have made your work easier. Keep feedback public-safe and never include private user data.

Return JSON only. No Markdown fence.

Allowed public datasets:

- nfl_pbp_2024: https://sharksnip.com/data/analytics2/agent-samples/nfl_pbp_2024_agent_sample.parquet
- nfl_player_weekly: https://sharksnip.com/data/analytics2/agent-samples/nfl_player_weekly_2024_agent_sample.parquet
- nfl_schedule_strength: https://sharksnip.com/data/analytics2/agent-samples/nfl_schedule_strength_2024_agent_sample.parquet

Required response shape:

{
  "schemaVersion": "sharksnip.assistant-response.v1",
  "proposal_batch": [
    {
      "angle": {
        "k": "public-rest-epa-home-dog-spread",
        "thesis": "Home underdogs with extra rest and positive lagged EPA differential may cover more often than closing spreads imply.",
        "markets": [
          "spread"
        ],
        "feats": [
          "nfl_pbp_2024.epa",
          "nfl_schedule_strength.sos_index"
        ],
        "slice": "regular-season games only",
        "filters": {
          "home_dog": true,
          "min_rest_edge_days": 2
        }
      },
      "requested_tools": [
        "validate_model_candidate",
        "compile_model_candidate",
        "run_backtest"
      ],
      "notes": "Backtest must stay dry-run until the user explicitly confirms execution."
    }
  ],
  "feedback": [
    {
      "type": "missing_dictionary",
      "title": "Need a drive-level EPA dictionary",
      "description": "I could propose cleaner pace/efficiency candidates if the public index exposed drive-level aggregates and examples.",
      "impact": "medium",
      "requested_action": "Add a public data dictionary entry or example query for drive-level EPA."
    }
  ],
  "feature_requests": [
    {
      "title": "Show why a candidate was held",
      "description": "When a total or moneyline candidate is held, expose the target-market evaluator gap and the next required tool.",
      "priority": "medium"
    }
  ],
  "module_drafts": [
    {
      "name": "rest_epa_home_dog_features.py",
      "language": "python",
      "purpose": "Feature-module sketch for rest-adjusted EPA differentials on historical public samples.",
      "code": "# untrusted text only; Sharksnip/Codex reviews and runs in the trusted harness"
    }
  ]
}

Claude Prompt

You are Claude helping build Sharksnip betting-model candidates through a public-safe Builder packet.

Packet URL: https://sharksnip.com/api/builder/assistant-packet?surface=chatgpt-web

Knowledge index URL: https://sharksnip.com/api/builder/assistant-index

Feedback URL: https://sharksnip.com/api/builder/assistant-feedback

Draft intake URL: https://sharksnip.com/api/builder/assistant-drafts

Use only the public data and schemas in that packet. Do not request Supabase credentials, private database access, bankroll data, unpublished picks, or sealed holdouts.

You may compute on public historical samples for feature design and directional diagnostics, but label those metrics non-authoritative. Full backtests and publishable metrics run only inside Sharksnip and require receipts.

Do not output current-week, today, tonight, tomorrow, next-slate, upcoming-game, or future-schedule picks; do not produce team-specific betting recommendations, unit sizing, bet slips, official pick cards, or row-level predictions for unreleased games.

Core product rule: when the user wants live NFL, DFS, or betting picks from chat, save a safe model/module draft through Sharksnip and return the share link. Sharksnip performs trusted training/backtests and gates real picks.

Propose falsifiable model angles. Prefer spread/ATS candidates when you want a runnable backtest today; total, moneyline, and team-total ideas should be marked as held until target-correct evaluators exist.

Also include concise feedback or feature_requests when a dictionary, example, tool, or UI affordance would have made your work easier. Keep feedback public-safe and never include private user data.

Return JSON only. No Markdown fence.

Allowed public datasets:

- nfl_pbp_2024: https://sharksnip.com/data/analytics2/agent-samples/nfl_pbp_2024_agent_sample.parquet
- nfl_player_weekly: https://sharksnip.com/data/analytics2/agent-samples/nfl_player_weekly_2024_agent_sample.parquet
- nfl_schedule_strength: https://sharksnip.com/data/analytics2/agent-samples/nfl_schedule_strength_2024_agent_sample.parquet

Required response shape:

{
  "schemaVersion": "sharksnip.assistant-response.v1",
  "proposal_batch": [
    {
      "angle": {
        "k": "public-rest-epa-home-dog-spread",
        "thesis": "Home underdogs with extra rest and positive lagged EPA differential may cover more often than closing spreads imply.",
        "markets": [
          "spread"
        ],
        "feats": [
          "nfl_pbp_2024.epa",
          "nfl_schedule_strength.sos_index"
        ],
        "slice": "regular-season games only",
        "filters": {
          "home_dog": true,
          "min_rest_edge_days": 2
        }
      },
      "requested_tools": [
        "validate_model_candidate",
        "compile_model_candidate",
        "run_backtest"
      ],
      "notes": "Backtest must stay dry-run until the user explicitly confirms execution."
    }
  ],
  "feedback": [
    {
      "type": "missing_dictionary",
      "title": "Need a drive-level EPA dictionary",
      "description": "I could propose cleaner pace/efficiency candidates if the public index exposed drive-level aggregates and examples.",
      "impact": "medium",
      "requested_action": "Add a public data dictionary entry or example query for drive-level EPA."
    }
  ],
  "feature_requests": [
    {
      "title": "Show why a candidate was held",
      "description": "When a total or moneyline candidate is held, expose the target-market evaluator gap and the next required tool.",
      "priority": "medium"
    }
  ],
  "module_drafts": [
    {
      "name": "rest_epa_home_dog_features.py",
      "language": "python",
      "purpose": "Feature-module sketch for rest-adjusted EPA differentials on historical public samples.",
      "code": "# untrusted text only; Sharksnip/Codex reviews and runs in the trusted harness"
    }
  ]
}

Packet

{
  "schemaVersion": "sharksnip.assistant-packet.v1",
  "packetId": "sharksnip_public_builder_a95f2ad12a67a697",
  "packetType": "sharksnip.public_builder",
  "createdAt": "2026-07-03T13:10:24.232Z",
  "targetSurface": "chatgpt-web",
  "privacyClass": "public",
  "intent": "Let ChatGPT, Claude, Codex, MCP, or browser agents propose Sharksnip model candidates using only public data, opaque handles, and receipt-producing tools.",
  "opaqueHandles": {
    "builderSessionId": "public_builder_1a81257c8646f94d",
    "datasetManifestId": "public_manifest_a95f2ad12a67a697",
    "userRef": null
  },
  "publicData": {
    "baseUrl": "https://sharksnip.com/data/analytics2",
    "release": "20260703T131024Z",
    "manifestHash": "a95f2ad12a67a697",
    "manifestUrl": "https://sharksnip.com/api/builder/assistant-packet?surface=chatgpt-web",
    "builderUrl": "https://sharksnip.com/build/new?demo=1&preset=hypothesis",
    "datasetIndexUrl": "https://sharksnip.com/api/analytics/datasets?sport=nfl",
    "datasetDetailUrlTemplate": "https://sharksnip.com/api/analytics/datasets/{id}",
    "agentSampleManifestUrl": "https://sharksnip.com/data/analytics2/agent-samples/manifest.json",
    "knowledgeIndexUrl": "https://sharksnip.com/api/builder/assistant-index",
    "feedbackUrl": "https://sharksnip.com/api/builder/assistant-feedback",
    "assistantDraftsUrl": "https://sharksnip.com/api/builder/assistant-drafts",
    "assets": [
      {
        "id": "nfl_pbp_2024",
        "name": "nfl_pbp_2024_agent_sample.parquet",
        "label": "NFL Play-by-Play (2024)",
        "description": "Every NFL play in 2024 with EPA, WPA, CPOE, situation, and outcome detail.",
        "sport": "nfl",
        "relPath": "data/analytics2/agent-samples/nfl_pbp_2024_agent_sample.parquet",
        "latestUrl": "https://sharksnip.com/data/analytics2/agent-samples/nfl_pbp_2024_agent_sample.parquet",
        "immutableUrl": null,
        "sha256": null,
        "sizeBytes": null,
        "contentType": "application/vnd.apache.parquet",
        "approxRows": 8000,
        "sourceApproxRows": 8000,
        "sampleMaxRows": 8000,
        "sourceKind": "agent-sample-parquet",
        "dataClass": "public-agent-historical-sample",
        "allowedUse": [
          "schema inspection",
          "feature design",
          "sample-size and distribution checks",
          "directional sample metrics labelled non-authoritative"
        ],
        "forbiddenUse": [
          "current-week picks",
          "today, tonight, tomorrow, next-slate, or upcoming-game betting recommendations",
          "row-level predictions for unreleased games",
          "unit sizing, bet slips, or official pick cards",
          "full or final backtest claims without a Sharksnip receipt"
        ],
        "authoritativeEvaluation": "Full backtests, publishable metrics, and any current/future slate evaluation must run inside trusted Sharksnip infrastructure and return receipt IDs.",
        "tags": [
          "historical",
          "declassified",
          "agent-sample",
          "sample-ok",
          "no-current-picks",
          "pbp",
          "nflverse"
        ],
        "schema": {
          "dimensions": [
            {
              "field": "week",
              "label": "Week",
              "type": "integer",
              "description": null
            },
            {
              "field": "qtr",
              "label": "Quarter",
              "type": "integer",
              "description": null
            },
            {
              "field": "down",
              "label": "Down",
              "type": "integer",
              "description": null
            },
            {
              "field": "play_type",
              "label": "Play Type",
              "type": "string",
              "description": null
            },
            {
              "field": "posteam",
              "label": "Offense",
              "type": "string",
              "description": null
            },
            {
              "field": "defteam",
              "label": "Defense",
              "type": "string",
              "description": null
            },
            {
              "field": "pass_location",
              "label": "Pass Location",
              "type": "string",
              "description": null
            },
            {
              "field": "run_location",
              "label": "Run Location",
              "type": "string",
              "description": null
            },
            {
              "field": "red_zone",
              "label": "Red Zone",
              "type": "boolean",
              "description": null
            }
          ],
          "measures": [
            {
              "field": "epa",
              "label": "EPA",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "wpa",
              "label": "WPA",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "cpoe",
              "label": "CPOE",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "yards_gained",
              "label": "Yards",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "air_yards",
              "label": "Air Yards",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "yards_after_catch",
              "label": "YAC",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "success",
              "label": "Success Rate",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            }
          ]
        }
      },
      {
        "id": "nfl_player_weekly",
        "name": "nfl_player_weekly_2024_agent_sample.parquet",
        "label": "NFL Player Stats — Weekly",
        "description": "Per-player, per-week NFL receiving / rushing / passing stats. Powers fantasy charts.",
        "sport": "nfl",
        "relPath": "data/analytics2/agent-samples/nfl_player_weekly_2024_agent_sample.parquet",
        "latestUrl": "https://sharksnip.com/data/analytics2/agent-samples/nfl_player_weekly_2024_agent_sample.parquet",
        "immutableUrl": null,
        "sha256": null,
        "sizeBytes": null,
        "contentType": "application/vnd.apache.parquet",
        "approxRows": 6000,
        "sourceApproxRows": 6000,
        "sampleMaxRows": 6000,
        "sourceKind": "agent-sample-parquet",
        "dataClass": "public-agent-historical-sample",
        "allowedUse": [
          "schema inspection",
          "feature design",
          "sample-size and distribution checks",
          "directional sample metrics labelled non-authoritative"
        ],
        "forbiddenUse": [
          "current-week picks",
          "today, tonight, tomorrow, next-slate, or upcoming-game betting recommendations",
          "row-level predictions for unreleased games",
          "unit sizing, bet slips, or official pick cards",
          "full or final backtest claims without a Sharksnip receipt"
        ],
        "authoritativeEvaluation": "Full backtests, publishable metrics, and any current/future slate evaluation must run inside trusted Sharksnip infrastructure and return receipt IDs.",
        "tags": [
          "historical",
          "declassified",
          "agent-sample",
          "sample-ok",
          "no-current-picks",
          "fantasy",
          "players"
        ],
        "schema": {
          "dimensions": [
            {
              "field": "season",
              "label": "Season",
              "type": "integer",
              "description": null
            },
            {
              "field": "week",
              "label": "Week",
              "type": "integer",
              "description": null
            },
            {
              "field": "player_name",
              "label": "Player",
              "type": "string",
              "description": null
            },
            {
              "field": "position",
              "label": "Position",
              "type": "string",
              "description": null
            },
            {
              "field": "team",
              "label": "Team",
              "type": "string",
              "description": null
            }
          ],
          "measures": [
            {
              "field": "targets",
              "label": "Targets",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "receptions",
              "label": "Receptions",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "receiving_yards",
              "label": "Rec Yards",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "receiving_tds",
              "label": "Rec TDs",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "carries",
              "label": "Carries",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "rushing_yards",
              "label": "Rush Yards",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "rushing_tds",
              "label": "Rush TDs",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "passing_yards",
              "label": "Pass Yards",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "passing_tds",
              "label": "Pass TDs",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "interceptions",
              "label": "INTs",
              "type": "integer",
              "defaultAgg": "sum",
              "allowedAggs": null
            },
            {
              "field": "fantasy_points_ppr",
              "label": "Fantasy Pts (PPR)",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "yards_per_target",
              "label": "Yards / Target",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "catch_rate",
              "label": "Catch Rate",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            }
          ]
        }
      },
      {
        "id": "nfl_schedule_strength",
        "name": "nfl_schedule_strength_2024_agent_sample.parquet",
        "label": "NFL Rest-of-Season Schedule Strength",
        "description": "Per-team, per-week opponent rating, vegas implied total, and SOS index for the rest of the season.",
        "sport": "nfl",
        "relPath": "data/analytics2/agent-samples/nfl_schedule_strength_2024_agent_sample.parquet",
        "latestUrl": "https://sharksnip.com/data/analytics2/agent-samples/nfl_schedule_strength_2024_agent_sample.parquet",
        "immutableUrl": null,
        "sha256": null,
        "sizeBytes": null,
        "contentType": "application/vnd.apache.parquet",
        "approxRows": 208,
        "sourceApproxRows": 208,
        "sampleMaxRows": 1200,
        "sourceKind": "agent-sample-parquet",
        "dataClass": "public-agent-historical-sample",
        "allowedUse": [
          "schema inspection",
          "feature design",
          "sample-size and distribution checks",
          "directional sample metrics labelled non-authoritative"
        ],
        "forbiddenUse": [
          "current-week picks",
          "today, tonight, tomorrow, next-slate, or upcoming-game betting recommendations",
          "row-level predictions for unreleased games",
          "unit sizing, bet slips, or official pick cards",
          "full or final backtest claims without a Sharksnip receipt"
        ],
        "authoritativeEvaluation": "Full backtests, publishable metrics, and any current/future slate evaluation must run inside trusted Sharksnip infrastructure and return receipt IDs.",
        "tags": [
          "historical",
          "declassified",
          "agent-sample",
          "sample-ok",
          "no-current-picks",
          "fantasy",
          "schedule",
          "sos"
        ],
        "schema": {
          "dimensions": [
            {
              "field": "season",
              "label": "Season",
              "type": "integer",
              "description": null
            },
            {
              "field": "week",
              "label": "Week",
              "type": "integer",
              "description": null
            },
            {
              "field": "team",
              "label": "Team",
              "type": "string",
              "description": null
            },
            {
              "field": "opponent",
              "label": "Opponent",
              "type": "string",
              "description": null
            },
            {
              "field": "is_home",
              "label": "Home/Away",
              "type": "boolean",
              "description": null
            }
          ],
          "measures": [
            {
              "field": "opponent_def_rating",
              "label": "Opponent DEF Rating",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "implied_team_total",
              "label": "Implied Total",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            },
            {
              "field": "sos_index",
              "label": "SOS Index",
              "type": "float",
              "defaultAgg": "avg",
              "allowedAggs": null
            }
          ]
        }
      }
    ],
    "releasePolicy": {
      "dataClass": "public-agent-historical-sample",
      "allowedUse": [
        "schema inspection",
        "feature design",
        "sample-size and distribution checks",
        "directional sample metrics labelled non-authoritative"
      ],
      "forbiddenUse": [
        "current-week picks",
        "today, tonight, tomorrow, next-slate, or upcoming-game betting recommendations",
        "row-level predictions for unreleased games",
        "unit sizing, bet slips, or official pick cards",
        "full or final backtest claims without a Sharksnip receipt"
      ],
      "authoritativeEvaluation": "Full backtests, publishable metrics, and any current/future slate evaluation must run inside trusted Sharksnip infrastructure and return receipt IDs."
    },
    "leakagePolicy": "Only public, pregame, declassified historical/sample artifacts may be sent to external assistants. Public assistants may produce directional diagnostics only. Private notes, bankroll data, credentials, current/future picks, unpublished picks, sealed holdouts, vendor odds, and Supabase credentials stay behind Sharksnip gates."
  },
  "executionBoundary": {
    "mode": "parquet-only-public-sandbox",
    "allowedInputs": [
      "public parquet URLs listed in publicData.assets",
      "public dataset schemas listed in this packet",
      "assistant-authored proposal JSON"
    ],
    "allowedOutputs": [
      "model candidate JSON",
      "feature/module/test ideas",
      "directional public-sample diagnostics labelled non-authoritative",
      "public-safe feedback and feature requests"
    ],
    "forbiddenInputs": [
      "Supabase credentials or direct database connections",
      "private user notes, bankroll, unpublished picks, or account data",
      "vendor odds feeds or sealed holdout labels",
      "arbitrary internal network/file access"
    ],
    "forbiddenOutputs": [
      "current-week picks",
      "today, tonight, tomorrow, next-slate, or upcoming-game betting recommendations",
      "row-level predictions for unreleased games",
      "unit sizing, bet slips, or official pick cards",
      "full or final backtest claims without a Sharksnip receipt"
    ],
    "persistence": "public assistant-draft intake may store quarantined model/module proposals and return a share link; training, full backtests, publishing, and future/current picks require trusted Sharksnip auth/confirmation and receipts",
    "computePolicy": "Assistants may reason over public parquet/schema data and compute fast sample/directional diagnostics. Full backtests, publishable metrics, and current/future slate evaluation must run inside trusted Sharksnip infrastructure, be resource-limited, domain-allowlisted, and receipt-producing before claims are trusted."
  },
  "allowedActions": [
    {
      "name": "list_public_datasets",
      "dryRun": true,
      "requiresUserConfirmation": false,
      "receiptRequired": true
    },
    {
      "name": "get_public_dataset_manifest",
      "dryRun": true,
      "requiresUserConfirmation": false,
      "receiptRequired": true
    },
    {
      "name": "create_model_candidate",
      "dryRun": true,
      "requiresUserConfirmation": true,
      "receiptRequired": true
    },
    {
      "name": "validate_model_candidate",
      "dryRun": true,
      "requiresUserConfirmation": false,
      "receiptRequired": true
    },
    {
      "name": "compile_model_candidate",
      "dryRun": true,
      "requiresUserConfirmation": false,
      "receiptRequired": true
    },
    {
      "name": "run_backtest",
      "dryRun": true,
      "requiresUserConfirmation": true,
      "receiptRequired": true
    },
    {
      "name": "get_training_receipt",
      "dryRun": true,
      "requiresUserConfirmation": false,
      "receiptRequired": true
    },
    {
      "name": "compare_candidates",
      "dryRun": true,
      "requiresUserConfirmation": false,
      "receiptRequired": true
    },
    {
      "name": "submit_assistant_model_draft",
      "dryRun": true,
      "requiresUserConfirmation": true,
      "receiptRequired": true
    },
    {
      "name": "save_model_draft",
      "dryRun": true,
      "requiresUserConfirmation": true,
      "receiptRequired": true
    },
    {
      "name": "publish_model_card",
      "dryRun": true,
      "requiresUserConfirmation": true,
      "receiptRequired": true
    }
  ],
  "outputContract": {
    "returnJsonOnly": true,
    "responseSchemaVersion": "sharksnip.assistant-response.v1",
    "topLevelKey": "proposal_batch",
    "requiredAngleFields": [
      "k",
      "thesis",
      "markets",
      "feats",
      "slice"
    ],
    "optionalReviewFields": [
      "feedback",
      "feature_requests"
    ],
    "draftIntakeUrl": "https://sharksnip.com/api/builder/assistant-drafts",
    "draftIntakePolicy": "If a user asks an LLM for NFL/DFS/betting picks, the assistant should save a public-safe draft and return the Sharksnip link instead of outputting current or future picks in chat.",
    "directionalMetricsPolicy": "Sample-side metrics from public artifacts are allowed only when labelled directional/non-authoritative. Full backtests and publishable metrics require Sharksnip receipts.",
    "authoritativeEvaluationPolicy": "Full backtests, publishable metrics, and any current/future slate evaluation must run inside trusted Sharksnip infrastructure and return receipt IDs.",
    "requiredReceiptFields": [
      "receiptId",
      "verdict",
      "dataSnapshotHash",
      "graphHash",
      "evaluatedAt"
    ],
    "forbiddenClaims": [
      "Do not claim betting edge without a Sharksnip receipt.",
      "Do not report metrics that are not present in a receipt.",
      "Do not ask for Supabase credentials, private database access, bankroll, or unpublished picks.",
      "Do not output current-week, today, tonight, tomorrow, next-slate, upcoming-game, or future-schedule picks.",
      "Do not output team-specific betting recommendations, unit sizing, bet slips, official pick cards, or row-level predictions for unreleased games.",
      "Do not present public-sample metrics as a full Sharksnip backtest.",
      "Do not include private user data in feedback or feature requests."
    ]
  },
  "audit": {
    "noRawPrivateData": true,
    "noSupabaseCredentials": true,
    "noCurrentOrFuturePicks": true,
    "publicDataHistoricalSampleOnly": true,
    "externalMetricsDirectionalOnly": true,
    "fullBacktestRequiresSharksnipReceipt": true,
    "mutatingActionsRequireUserConfirmation": true,
    "validatorUrl": "https://sharksnip.com/api/builder/assistant-packet",
    "draftIntakeUrl": "https://sharksnip.com/api/builder/assistant-drafts",
    "source": "src/lib/assistant/public-builder-packet.ts"
  }
}

Response Contract

{
  "schemaVersion": "sharksnip.assistant-response.v1",
  "proposal_batch": [
    {
      "angle": {
        "k": "public-rest-epa-home-dog-spread",
        "thesis": "Home underdogs with extra rest and positive lagged EPA differential may cover more often than closing spreads imply.",
        "markets": [
          "spread"
        ],
        "feats": [
          "nfl_pbp_2024.epa",
          "nfl_schedule_strength.sos_index"
        ],
        "slice": "regular-season games only",
        "filters": {
          "home_dog": true,
          "min_rest_edge_days": 2
        }
      },
      "requested_tools": [
        "validate_model_candidate",
        "compile_model_candidate",
        "run_backtest"
      ],
      "notes": "Backtest must stay dry-run until the user explicitly confirms execution."
    }
  ],
  "feedback": [
    {
      "type": "missing_dictionary",
      "title": "Need a drive-level EPA dictionary",
      "description": "I could propose cleaner pace/efficiency candidates if the public index exposed drive-level aggregates and examples.",
      "impact": "medium",
      "requested_action": "Add a public data dictionary entry or example query for drive-level EPA."
    }
  ],
  "feature_requests": [
    {
      "title": "Show why a candidate was held",
      "description": "When a total or moneyline candidate is held, expose the target-market evaluator gap and the next required tool.",
      "priority": "medium"
    }
  ],
  "module_drafts": [
    {
      "name": "rest_epa_home_dog_features.py",
      "language": "python",
      "purpose": "Feature-module sketch for rest-adjusted EPA differentials on historical public samples.",
      "code": "# untrusted text only; Sharksnip/Codex reviews and runs in the trusted harness"
    }
  ]
}