Prepare the FLUID interface for HelixForge Telegram publishing
Adds the governing intent, the R-1 contract and descriptor, the adapter's connector contract, the observation and redaction configuration, a runbook, and the seed evidence for the first experiment: a measured pressure record and two competing hypotheses about how a long hall entry should reach a reader. The interface is declared at FLUID-2 deliberately. It publishes under HelixForge's name to an audience that did not consent to being experimented on carelessly, and the cost of a bad post is reputational rather than recoverable. 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
87795446e2
commit
49b7458dfe
13 changed files with 3010 additions and 1 deletions
52
revisions/R-1.yaml
Normal file
52
revisions/R-1.yaml
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# Revision descriptor for R-1.
|
||||
#
|
||||
# Fill in the digest and upstream, then publish through the pipeline:
|
||||
#
|
||||
# fluid revision publish --file revisions/R-1.yaml \
|
||||
# --key-file "$FLUID_SIGNING_KEY" \
|
||||
# --adaptation-classes presentation \
|
||||
# --approved-by "$USER" --traffic-share 1.0
|
||||
#
|
||||
# The digest is the sha256 of contracts/r1.openapi.yaml:
|
||||
# printf 'sha256:%s' "$(sha256sum contracts/r1.openapi.yaml | cut -d' ' -f1)"
|
||||
revision:
|
||||
schema_version: "0.1"
|
||||
id: "R-1"
|
||||
interface: "helix-forge-telegram-publishing"
|
||||
state: "stable"
|
||||
|
||||
contract:
|
||||
type: "openapi"
|
||||
digest: "sha256:<digest of contracts/r1.openapi.yaml>"
|
||||
source: "contracts/r1.openapi.yaml"
|
||||
|
||||
runtime:
|
||||
upstream: "http://fluid-telegram-adapter:8080"
|
||||
# Telegram rate-limits channel posts to roughly 20 per minute. A generous
|
||||
# timeout is correct here: publication is not latency-sensitive, and
|
||||
# failing fast would turn a rate limit into a lost entry.
|
||||
timeout_ms: 30000
|
||||
retry:
|
||||
# Only GET is retried by the connector; POST /v1/hall-entries is
|
||||
# idempotent on entry_id, but the retry decision stays with the adapter,
|
||||
# which knows whether Telegram accepted the message.
|
||||
max_attempts: 1
|
||||
circuit_breaker:
|
||||
failure_threshold: 5
|
||||
reset_after_ms: 60000
|
||||
|
||||
intent:
|
||||
version: "IEI-1"
|
||||
|
||||
routing:
|
||||
eligible_cohorts:
|
||||
- "hall-publishing-jobs"
|
||||
- "helix-forge-agents"
|
||||
- "operators"
|
||||
max_traffic_share: 1.0
|
||||
|
||||
policy:
|
||||
compatibility: "additive"
|
||||
security_check: "passed"
|
||||
policy_check: "passed"
|
||||
rollback_to: null
|
||||
Loading…
Add table
Add a link
Reference in a new issue