Reframe the interface around composed posts, not republished entries
The channel publishes a post written from a hall entry -- condensed, personal, reach-optimized -- not the entry itself. That changes what this interface is for and where its boundary sits. Composition is deliberately outside the interface. Composing is a probabilistic editorial task, and Blueprint 48.1 forbids an LLM in the mandatory request path, so an interface that composed on demand would be non-deterministic exactly where determinism is the whole claim. It is also editorial: a post speaks about a named person's work in HelixForge's voice, and a review step inside the request path is a review step nobody performs. The contract now takes a composed post with a required reviewer, a cited source entry and a consent basis. A post carrying none of those is refused. Absence of objection is not consent, and in an audit trail an unfaithful post looks exactly like a faithful one -- the defence is that a human read it, the source is named, and both are recorded. The first experiment is rebuilt accordingly. The old competition asked how to fit a whole entry into Telegram; that question no longer exists. The new one asks whether the portrait earns the 3072 characters of caption limit it costs, which is a delivery question this interface actually owns. Competition over editorial voice belongs to the campaign and runs on the per-variant engagement this interface reports. Adds T05b (composition and review), T05c (consent basis for the 94 existing participants, blocking public publication) and T11 (extracting the campaign into pr-hall-of-helix). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014KmVxhJ35tCo7rE7UnLwWu Assistant: claude-code Assistant-Model: opus Assistant-Process: 1116572@bnt-lap001 Assistant-Session: 8ba9bb93-a72a-4883-b189-2499cce5c400
This commit is contained in:
parent
aa95a09ab6
commit
3aa8cb7eaf
14 changed files with 793 additions and 521 deletions
122
hypotheses/H-tg-textonly.yaml
Normal file
122
hypotheses/H-tg-textonly.yaml
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
fluid_hypothesis:
|
||||
schema_version: "0.1"
|
||||
|
||||
id: "H-tg-textonly"
|
||||
interface_id: "helix-forge-telegram-publishing"
|
||||
state: "DRAFT"
|
||||
|
||||
title: "Text alone reaches further than a post constrained by a caption"
|
||||
|
||||
observation:
|
||||
summary: >
|
||||
Telegram limits a photo caption to 1024 characters, a quarter of the 4096 available to a text message. Attaching a portrait therefore constrains the composition it accompanies, and a post written to 1024 characters is a different piece of writing from one written to 4096.
|
||||
evidence_refs:
|
||||
- "canon:fluid-telegram/TelegramCapabilityCanon.md#MED-01"
|
||||
- "pressure:P-register"
|
||||
affected_cohorts:
|
||||
- "telegram-subscribers"
|
||||
|
||||
pressure:
|
||||
classes:
|
||||
- "repeated_expectation_mismatch"
|
||||
pressure_refs:
|
||||
- "P-register"
|
||||
severity: 0.6
|
||||
confidence: 0.7
|
||||
|
||||
explanation:
|
||||
claim: >
|
||||
The scarce resource in a condensed post is room to say something specific. A generated portrait is decorative and interchangeable across entries; a concrete detail about what someone actually did is not. Trading three quarters of the available text for a picture spends the thing that makes a post worth reading on the thing that makes it look like everything else in the feed.
|
||||
reach:
|
||||
score: 0.4
|
||||
explains:
|
||||
- "P-register"
|
||||
notes: >
|
||||
Narrow but clean. It settles one delivery question decisively, and the
|
||||
answer transfers to fluid-x and fluid-substack, which face the same
|
||||
question under different feeds.
|
||||
|
||||
proposed_adaptation:
|
||||
class: "presentation"
|
||||
summary: >
|
||||
Publish the post as a text message with a link to the source entry, and no attached visual.
|
||||
implementation_scope: "interface_only"
|
||||
|
||||
backend_requirements:
|
||||
required: false
|
||||
requirement_refs: []
|
||||
|
||||
expected_outcomes:
|
||||
- metric: "engagement_rate"
|
||||
cohort: "telegram-subscribers"
|
||||
target: 0.05
|
||||
direction: "higher"
|
||||
- metric: "source_link_rate"
|
||||
cohort: "telegram-subscribers"
|
||||
target: 0.02
|
||||
direction: "higher"
|
||||
|
||||
guardrails:
|
||||
- metric: "unreviewed_publication"
|
||||
operator: "=="
|
||||
threshold: false
|
||||
- metric: "missing_source_attribution"
|
||||
operator: "=="
|
||||
threshold: false
|
||||
- metric: "missing_subject_consent"
|
||||
operator: "=="
|
||||
threshold: false
|
||||
- metric: "error_rate"
|
||||
operator: "<="
|
||||
threshold: 0.01
|
||||
|
||||
fitness_dimensions:
|
||||
expected:
|
||||
client_utility: 0.2
|
||||
discoverability: 0.3
|
||||
simplicity: 0.3
|
||||
correctness: 0.0
|
||||
security: 0.0
|
||||
|
||||
complexity:
|
||||
expected_delta:
|
||||
operation_count: 0
|
||||
concept_count: 0
|
||||
cognitive_load: 0.1
|
||||
score: 0.05
|
||||
|
||||
risk:
|
||||
level: "LOW"
|
||||
reasons:
|
||||
- "presentation only; no contract, authorization or consent change"
|
||||
- "the simpler arm; nothing to attach and nothing to fail"
|
||||
|
||||
economics:
|
||||
estimated_experiment_cost: 0.0
|
||||
estimated_implementation_cost: 0.0
|
||||
currency: "EUR"
|
||||
expected_value_class: "MEDIUM"
|
||||
|
||||
learning_value:
|
||||
score: 0.7
|
||||
notes: >
|
||||
If this wins, the campaign stops producing portraits for publication and spends that effort on the writing instead.
|
||||
|
||||
success_criteria:
|
||||
expression: >
|
||||
engagement_rate >= 0.05 AND no guardrail violation
|
||||
|
||||
failure_criteria:
|
||||
expression: >
|
||||
any hard guardrail violation
|
||||
OR engagement_rate at or below the rival arm over the same window
|
||||
|
||||
competition:
|
||||
group_id: "CG-tg-delivery"
|
||||
alternatives:
|
||||
- "H-tg-visual"
|
||||
|
||||
outcome:
|
||||
status: null
|
||||
summary: null
|
||||
evidence_refs: []
|
||||
Loading…
Add table
Add a link
Reference in a new issue