Evidência → Fila

Lição 4 · Extração

O extrator: receipts, dedupe e abstenção honesta

8.820 linhas de sinal de 2.537 pacotes — cada uma com citação verbatim ligada a um span de bytes exato. 1.225 são aliases: duplicatas rastreadas para sempre, contadas uma vez.

Como é um sinal

{
  "signal_id": "sig_…",
  "kind": "pain | job | workaround | demand | willingness_to_pay | …",
  "evidence_quote": "Ele quer o problema dele resolvido e ponto.",
  "locator": { "file": "Transcripts/YouTube/items/…/source.md",
               "line_start": 68, "byte_start": …, "byte_end": … },
  "speaker_role": "narrator | author | quoted_third_party",
  "truth_class": "SOURCE_CLAIM",
  "dedupe_key": "…", "conflicts": []
}

Scaffold removido

Todo pacote carrega um contrato wiki gerado ("make contradictions or gaps explicit"). A extração mantém só o bloco de título e o corpo Full Cleaned Content|Transcript — boilerplate nunca vira sinal de mercado.

Uma evidência, um slot

A mesma frase em source.md E raw/transcript.txt é UMA evidência. Entre pacotes, a primeira ocorrência é canônica; o resto vira linha alias: com ponteiro alias_of.

Abstenção é honesta

476 pacotes são no_signal com razão nomeada (promoção pura, contexto de ruído, sem candidatos). 6 são blocked (fonte ausente) — nomeados, nunca silenciosos.

Guardas aprendidas do jeito difícil

GuardaPor que existe
Fronteiras de palavra"whatever" não é hate, "Mythos" não é myth, "captions" não é cap, "marketer" não é market, "Conflict" não é NFL
Âncoras de falso-amigoPT "isso demanda tempo" não é demanda de mercado; "já era melhor" não é claim de morte
Remoção de negação"sem problema" e "no human bottlenecks" não são dor
Papel de autor"they paid me $10,000" é autodeclaração — nunca WTP de cliente
Guarda de pergunta"how do I use Claude?" é pergunta, não adoção
Guarda de idiom"dead simple" não é morte; "work full time" não é falha de produto
Lição 04 de 8 · Evidência → Fila