feat(skill): scope narrative lens to first-party entities, gate on fetched positioning

The lens criterion is now explicit: an identifiable first party with a
fetchable public pitch - companies, products, services. People NEVER
qualify, even founders whose companies would (MrBeast the company can
get the lens; Jimmy Donaldson the person cannot; "Garry Tan vs Sam
Altman" gets N/A across the row). Ownerless topics (Bitcoin) fail the
same test - a foundation or fan site is not an authoritative first
party. Comparison-row verdicts are also artifact-gated to match the
single-entity beat: a verdict requires positioning fetched THIS run;
if item 6 couldn't run (no WebSearch), the cell is Unclear - the pitch
is never supplied from memory.
This commit is contained in:
Trevin Chow
2026-06-09 16:33:29 -07:00
parent 4402dd317f
commit 57860aff1c
4 changed files with 15 additions and 8 deletions
+3
View File
@@ -103,6 +103,9 @@ class RenderComparisonMultiTests(unittest.TestCase):
self.assertIn("| Dimension | OpenAI | Anthropic | xAI |", rendered)
# The narrative-lens axis is emitted as a scaffold row
self.assertIn("| Setting the narrative? |", rendered)
# Fill instructions carry the scope + artifact gate (no verdicts for
# people/ownerless topics, no pitch from memory)
self.assertIn("never supply the pitch from memory", rendered)
# Envelope scaffolding present
self.assertIn("EVIDENCE FOR SYNTHESIS", rendered)
self.assertIn("END OF last30days CANONICAL OUTPUT", rendered)