{
  "schema_version": "1.0.0",
  "experiment_id": "GEO-EXP-000",
  "title": "Paridade dos contadores da home sem JavaScript",
  "owner": "Arsenal GEO Lab",
  "status": "COMPLETED",
  "hypothesis": {
    "statement": "Publicar o valor canônico como texto inicial, mantendo a animação como melhoria progressiva, elimina a divergência de extração entre HTML sem JavaScript, DOM final e dataset.",
    "expected_mechanism": "O parser recebe o dado real no HTML inicial e a animação parte desse mesmo contrato, em vez de usar zero como conteúdo publicado.",
    "falsification_rule": "A hipótese falha se qualquer um dos oito contadores divergir do dataset no HTML inicial, nos atributos ou no DOM ao fim da animação."
  },
  "design": {
    "experiment_type": "DETERMINISTIC",
    "experimental_unit": "contador canônico da seção prova-de-trabalho da home",
    "sample": {
      "planned_n": 8,
      "power_rule": "Teste determinístico de paridade exata; cálculo de poder não se aplica.",
      "inclusion": ["oito métricas canônicas exibidas na home e no espelho local"],
      "exclusion": ["eventos de analytics", "efeitos de crawl", "citação", "referral", "receita"]
    },
    "treatment": {
      "description": "Texto inicial, data-metrica, data-valor e alvo da animação derivados do mesmo dataset.",
      "surfaces": ["/", "/index-nova"]
    },
    "control": {
      "type": "NONE_DETERMINISTIC",
      "description": "Estado anterior preservado no snapshot RED; não há grupo paralelo.",
      "surfaces": []
    }
  },
  "baseline": {
    "state": "MEASURED",
    "summary": "0 de 8 contadores exibiam o valor canônico no HTML inicial de cada home; o teste focal registrou 6 falhas e 3 aprovações.",
    "period": {
      "start": "2026-08-25T18:45:00-03:00",
      "end": "2026-08-25T18:45:00-03:00"
    },
    "snapshot_refs": ["/lab/evidencias/geo-exp-000-baseline.json"]
  },
  "platforms": [
    {
      "provider": "Web aberta",
      "surface": "HTML estático e DOM em JSDOM",
      "model": null,
      "version": null
    }
  ],
  "prompt_set": {
    "id": "NOT_APPLICABLE_DETERMINISTIC",
    "version": "1.0.0",
    "sha256": null,
    "public": true
  },
  "metrics": {
    "dictionary_version": "1.0.0",
    "primary": {
      "metric_id": "machine_readable_truth_accuracy",
      "metric_version": "1.0.0",
      "decision_rule": {
        "type": "EXACT",
        "operator": "EQ",
        "threshold": 1,
        "power_plan": null
      }
    },
    "secondary": []
  },
  "safeguards": {
    "risks": [
      "quebrar a animação visual",
      "duplicar valores manualmente fora da fonte canônica",
      "atribuir efeito de citação a uma correção determinística"
    ],
    "confounders": [
      "index.html e index-nova.html são espelhos do mesmo tratamento, não unidades independentes"
    ],
    "stopping_rule": "Interromper se a animação, a paridade entre homes ou qualquer teste do baseline regredir."
  },
  "schedule": {
    "planned_start": "2026-08-25",
    "planned_end": "2026-08-25"
  },
  "preregistration": {
    "locked_at": "2026-08-25T18:45:00-03:00",
    "locked_fields_sha256": "35bea3d810e8ae6dcd2da49c91496f82ba57dd704172fc00088945afead068ef",
    "source_commit": null
  },
  "lifecycle": {
    "intervention_started_at": "2026-08-25T18:46:00-03:00",
    "analysis_started_at": "2026-08-25T18:50:00-03:00",
    "completed_at": "2026-08-25T19:05:43-03:00",
    "invalidated_at": null
  },
  "result": {
    "primary_metric": {
      "metric_id": "machine_readable_truth_accuracy",
      "metric_version": "1.0.0",
      "state": "MEASURED",
      "value": 1,
      "numerator": 8,
      "denominator": 8,
      "period": {
        "start": "2026-08-25T18:46:00-03:00",
        "end": "2026-08-25T19:05:43-03:00"
      },
      "interval": "Paridade determinística exata; intervalo amostral não se aplica."
    },
    "secondary_metrics": [],
    "decision": "PASS: 8 de 8 valores canônicos coincidem no HTML inicial, nos atributos e no DOM final; 9 de 9 testes focais passaram.",
    "uncertainty": "O resultado é determinístico para os arquivos e hashes registrados; não estima efeito em crawlers, LLMs ou comportamento comercial.",
    "limitations": [
      "Não mede descoberta, citação, referral ou receita.",
      "As duas homes são cópias do mesmo tratamento e não formam replicações independentes.",
      "A observação pública na borda depende de deploy futuro aprovado; esta execução foi local."
    ]
  },
  "evidence": [
    {
      "evidence_id": "GEO-EXP-000-BASELINE",
      "url": "/lab/evidencias/geo-exp-000-baseline.json",
      "sha256": "69ea555ce9359d1422ed2df40bac5be64b89b68416b457a0d26add3e6b66f399",
      "origin": "Teste focal local em RED, antes do tratamento",
      "captured_at": "2026-08-25T18:45:00-03:00",
      "privacy_class": "PUBLIC"
    },
    {
      "evidence_id": "GEO-EXP-000-RESULT",
      "url": "/lab/evidencias/geo-exp-000-resultado.json",
      "sha256": "b728a8d1e3bb7a6f0aac2870445ed865e53c48cc9facf4654d9e276322be6738",
      "origin": "Teste focal e gate completo local após o tratamento",
      "captured_at": "2026-08-25T19:05:43-03:00",
      "privacy_class": "PUBLIC"
    }
  ],
  "replication": {
    "decision": "REPLICATE",
    "rationale": "Aplicar o mesmo contrato de HTML inicial verdadeiro a novas superfícies com valores animados.",
    "target_experiment_id": null
  }
}
