import type { Narrative } from '@/lib/demo-kit';

/**
 * The six beats, in order. The shell renders them; this file decides what the
 * page argues and in what sequence.
 */
export const narrative: Narrative = {
  thesis:
    'This is the smallest complete reinforcement-learning environment we could find that needs no ' +
    'domain knowledge at all. It has everything the ones that matter to your business have: a task, ' +
    'a fixed set of legal moves, a grader that cannot be argued with, and a score that moves when ' +
    'the model gets better. Learn the machine here, and every demo after this is the same machine ' +
    'with a different grader.',
  anxiety: 'How would we know it was actually working?',
  beats: [
    {
      id: 'hero',
      title: 'Their hello-world, not ours',
      claim:
        'Prime Intellect ship this exact game as a starter environment in three of their public repositories. We did not pick a game. We picked theirs.',
      surface: 'hero',
    },
    {
      id: 'anatomy',
      title: 'What an environment actually is',
      claim:
        'Four parts: a task, the moves that are legal, a grader that computes rather than opines, and a number that moves.',
      surface: 'anatomy',
    },
    {
      id: 'play',
      title: 'You and the model get the same word',
      claim:
        'Same hidden word, same six guesses, same rules. Play it, then watch what the model did with it.',
      surface: 'split-play',
    },
    {
      id: 'watch',
      title: 'Watch it think',
      claim:
        'This is not a video. It is a recorded attempt replayed at the speed it actually happened, and you can step through it one guess at a time.',
      surface: 'scrubber',
    },
    {
      id: 'reward',
      title: 'You decide what good means',
      claim:
        'Move one slider and the winner changes. That is not a trick — it is the product.',
      surface: 'reward-editor',
    },
    {
      id: 'metric',
      title: 'The number that moves',
      claim:
        'Out of the box, this model solved none of eight. Letting it think first is the cheapest intervention there is, and you can measure exactly what it bought.',
      surface: 'metric',
    },
    {
      id: 'receipt',
      title: 'The whole environment, in one screen',
      claim:
        'The grader is thirty lines of Python. Here it is, and here is the command that runs it.',
      surface: 'receipt',
    },
    {
      id: 'limits',
      title: 'What this does not teach',
      claim:
        'A word game is missing four things your business has. Each one is why the next demo exists.',
      surface: 'limits',
    },
  ],
  limits: [
    {
      text:
        'Nobody is pushing back. There is no counterparty adapting to what the agent does, which is most of what makes fraud and abuse hard.',
      answeredBy: 'alert-triage',
    },
    {
      text:
        'There is no rule the agent could break. No privacy boundary, no regulator, no policy it must satisfy while it optimises.',
      answeredBy: 'denial-appeal',
    },
    {
      text:
        'Every guess is objectively scorable. Real decisions have partial credit and honest disagreement about what a good answer even was.',
      answeredBy: 'coverage-reserve',
    },
    {
      text:
        'The score arrives the moment the game ends. A claim, a bid or a dispatch is graded weeks later, by reality.',
      answeredBy: 'day-ahead-bid',
    },
  ],
};
