Skip to main content

Integrations

Documentation Map

Integrations

Tool / Contract Summary

This page documents the real integration boundaries around jhf-tenter.

It focuses on:

  • what this repo produces
  • what this repo consumes read-only
  • what is explicitly owned elsewhere

Business Value

  • Keeps runtime, governance, deployment, and identity ownership clear.
  • Prevents local shadow truth against Fabric or other owner repos.
  • Gives downstream repos a clean handoff boundary for implementation and operations.

Current Verified State

Currently verified on the live host or through checked-in contracts:

  • Fabric governance and combination surfaces are live.
  • OpenClaw is live.
  • Asterisk ARI and GUI runtime are live.
  • Heddle Keycloak is live.
  • Optional carrier slice is published by Fabric as disabled, not missing.

Available now

Fabric read-only integrations

  • producer-/consumer governance adoption
  • docs-standard adoption
  • voice-events family adoption
  • combinations profile consumption
  • optional-slice consumption for sipgate-carrier-cti
  • current expected bundle anchor:
    • fabric-all
  • current required capability class anchor:
    • voice-runtime

OpenClaw integrations

  • OpenClaw health verification
  • OpenClaw request-path verification
  • host-near bring-up and live-call evidence
  • OpenClaw agent execution after fail-closed voice-target resolution

Telephony integrations

  • Asterisk ARI adapter boundary
  • Asterisk GUI operator-surface consumer boundary
  • Asterisk GUI SSO handoff boundary
  • Windows SIP softphone smoke path through the tenter-owned stack on :15060
  • existing Windows tray local-audio runtime contract for pinned Voxtral STT/TTS

Optional / Extended

  • spindle / Zammad CTI over the Fabric-published optional carrier slice for human-support workflows
  • richer Warp-owned roster or policy truth later
  • expanded GUI hardening by external owner repos

Planned / Not in current scope

  • local Fabric replacement
  • local identity provider
  • direct tenter-owned CTI carrier execution

Public Surfaces

Produced by jhf-tenter

  • runtime contract docs
  • stack compose files
  • verify commands
  • package artifacts

Consumed read-only by jhf-tenter

  • Fabric:
    • /api/v1/contracts/matrix
    • /api/v1/contracts/docs-standard
    • /api/v1/voice/contracts/events
    • /api/v1/combinations/profiles
    • /api/v1/combinations/optional-slices
    • /api/v1/combinations/optional-slices/sipgate-carrier-cti
  • OpenClaw:
    • /healthz
  • Asterisk:
    • /ari/asterisk/info

Contract Families

Fabric-owned families consumed here

  • docs standard
  • voice events
  • combinations profiles
  • optional carrier slice truth

Repo-owned families authored here

  • voice runtime slices
  • Asterisk runtime stack source of truth
  • CPU-safe runtime guardrails
  • GUI handoff and operator-surface consumer boundaries
  • optional carrier boundary contract as a local non-goal and consumer boundary

Canonical runtime and integration keys

  • VOICE_ROUTER_RUNTIME_SLICE
  • VOICE_ASTERISK_ARI_ADAPTER_SLICE
  • VOICE_STT_TTS_OPENCLAW_FLOW_SLICE
  • VOICE_RUNTIME_VALIDATION_MATRIX
  • VOICE_DISCORD_ADAPTER_READINESS
  • ASTERISK_GUI_SSO_HANDOFF
  • ASTERISK_GUI_OPERATOR_SURFACE_CONSUMER
  • SIPGATE_CARRIER_BOUNDARY_CONTRACT
  • WINDOWS_SOFTPHONE_SMOKE_PATH
  • WINDOWS_TRAY_LOCAL_AUDIO_RUNTIME_CONTRACT
  • producer namespace posture:
    • tenter.voice.*
  • integration keywords:
    • standalone
    • integrated
    • validation
    • hardening
    • corner-case
    • binding
    • dialplan
    • discord
    • readiness
    • adapter
    • transport-generic
    • sipgate
    • zammad
    • optional
    • human-support
    • fabric
    • Asterisk GUI operator surface
    • softphone
    • sip
    • linphone
    • rtp

Producer-/Consumer-Zuordnung

helpifyr-fabric

  • producer of:
    • contract governance truth
    • voice event-family truth
    • combinations truth
    • optional carrier/readiness truth

jhf-tenter

  • producer of:
    • runtime slice docs and verify paths
    • Asterisk stack artifacts
    • package and metadata artifacts
  • consumer of:
    • Fabric truth
    • OpenClaw live evidence

jhf-deployment

  • consumer of:
    • tenter-owned stack artifacts
  • owner of:
    • rollout execution
    • host-side env injection
  • external env materialization only, not canonical ARI config files
  • deployment executes but does not own the canonical stack definition
  • CPU-safe runtime guardrails stay repo-owned and are verified before host execution is treated as green

jhf-heddle

  • owner of:
    • Keycloak/OIDC
    • GUI login and logout posture

jhf-spindle

  • consumer of:
    • Fabric-published optional carrier slice for ticket/CTI behavior

Compatibility Window

  • Fabric governance and voice families currently align to the versions accepted by verify_fabric_contract_adoption.py.
  • Optional carrier readiness must follow Fabric state exactly.
  • Asterisk host ports 19088 and 19089 must follow the tenter-owned stack contract exactly.
  • Windows softphone smoke ports 15060 and 12000-12019 must follow the tenter-owned stack contract exactly.
  • the bounded softphone agent path on 6201 must keep voice_runtime_target_ref separate from the real Jadda conversation target instead of warming the productive main:main session
  • static-required host-port policy applies to the tenter-owned ARI and GUI surfaces.

Lifecycle Status

  • Fabric integration:
    • active
  • OpenClaw integration:
    • active
  • ARI integration:
    • active
  • GUI + SSO integration:
    • transitional but live-readback backed
  • Optional carrier integration:
    • active as a disabled optional slice for human-support use, not as a required runtime

Readiness / Drift / Monitoring

  • Drift exists if local docs imply owner status that belongs to Fabric, Deployment, Heddle, or OpenClaw.
  • Drift exists if the repo assumes a Fabric state without reading the live surfaces.
  • The optional carrier slice must stay non-blocking when Fabric publishes disabled-not-required.
  • controlled live-port discovery is evidence only and must not be replaced by guessed host history.
  • the Windows softphone smoke path must remain a bounded headset test path, not a second operator UI truth.
  • CPU-safe diagnostics must stay bounded with timeout + --since/--tail; deployment must not replace them with unbounded host log tails.

Deployment / Verify

python3 scripts/ci/verify_fabric_integration.py
python3 scripts/ci/verify_fabric_contract_adoption.py --fabric-base-url http://<internal-runtime-redacted>:28080
python3 scripts/ci/verify_fabric_combination_profiles.py --fabric-base-url http://<internal-runtime-redacted>:28080
python3 scripts/ci/verify_optional_sipgate_carrier_boundary.py --fabric-base-url http://<internal-runtime-redacted>:28080
python3 scripts/ci/verify_windows_softphone_smoke_path.py --check-live --host <internal-runtime-redacted> --host-checkout /home/administrator/jhf-tenter
python3 scripts/ci/verify_windows_softphone_agent_main_path.py --check-live --host <internal-runtime-redacted> --host-checkout /home/administrator/jhf-tenter

Known Limits

  • jhf-tenter cannot fix Fabric or OpenClaw owner bugs locally.
  • GUI runtime presence is not the same as GUI truth ownership.
  • Optional carrier support must not creep into the core agent-call path.
  • The first human-audio Windows path is SIP softphone based; browser/WebRTC remains future issue #99.
  • Generic voice-target truth for non-smoke paths still depends on external Fabric/Warp follow-up.

Boundaries

  • Helpifyr Fabric remains the shared metadata and governance layer.
  • Mission Control remains the project and task steering layer.
  • Agent Manager remains the agent orchestration layer.
  • The Agent Runtime Kit remains the runtime preparation and host-helper layer.
  • jhf-tenter must not introduce a second broker or control plane.

Exceptions / Waivers

  • None beyond the explicit optional-slice disabled posture published by Fabric.
  • jhf-tenter#73
  • jhf-tenter#86
  • jhf-tenter#90
  • jhf-tenter#98
  • jhf-tenter#100
  • jhf-tenter#99
  • jhf-deployment#170
  • openclaw-environment#30