Skip to main content

Overview

Documentation Map

Overview

Tool / Contract Summary

jhf-tenter is the runtime toolkit and verification repo for the OpenClaw voice lane. It owns repo-side contracts, verifiers, package artifacts, and the canonical Asterisk stack definition for tenter-owned voice surfaces.

This repo does not present itself as a permanent product service. Its job is to define, verify, and document runtime behavior precisely enough that deployment, validation, website, and governance consumers can use it without guessing.

Business Value

  • Gives operators one repo-owned place for runtime stack truth, verify commands, and recovery hints.
  • Gives downstream repos a stable contract for what jhf-tenter owns versus what Fabric, Deployment, Heddle, or OpenClaw own.
  • Reduces drift between repo claims and real host evidence.
  • Makes Wiki.js and jhf-web consumption possible without inventing structure or semantics.

Current Verified State

Verified against <internal-runtime-redacted> during this documentation pass:

  • OpenClaw gateway is live on :18789.
  • Fabric API is live on :28080.
  • Asterisk ARI runtime is live on :19088.
  • Asterisk GUI runtime is live on :19089.
  • Heddle Keycloak is live on :18090.
  • Fabric currently serves the repo-relevant governance and combination surfaces.

Available now

  • Repo-owned voice runtime slices and executable smoke evidence.
  • Repo-owned Asterisk stack source of truth.
  • Repo-owned package contract and package verification path.
  • Read-only Fabric alignment for governance, voice events, combinations, and optional carrier slices.
  • Host-near and live verification scripts.

Optional / Extended

  • Deployment-executed GUI runtime and rollout.
  • Heddle-backed SSO for the GUI operator surface.
  • Optional carrier/CTI slice for spindle/Zammad through Fabric.
  • Discord readiness without a live Discord runtime.

Planned / Not in current scope

  • No repo-owned product UI or operator portal beyond the defined stack artifacts and handoff docs.
  • No local rewrite of Fabric governance or combinations semantics.
  • No automatic live-host mutation from CI.

Public Surfaces

  • Repo artifacts:
    • fabric-manifest.json
    • docs/CAPABILITIES.md
    • docs/ASTERISK_RUNTIME_STACK_SOURCE_OF_TRUTH.md
  • Verify commands:
    • python3 scripts/ci/verify_repo.py
    • bash scripts/fabric-selfcheck.sh
    • python3 scripts/ci/verify_asterisk_stack_source_of_truth.py
    • python3 scripts/ci/verify_voice_live_call.py
  • Consumed live read surfaces:
    • Fabric contracts and combinations APIs
    • OpenClaw healthz
    • Asterisk ARI info endpoint

Contract Families

  • Voice runtime slices:
    • VOICE_ROUTER_RUNTIME_SLICE
    • VOICE_ASTERISK_ARI_ADAPTER_SLICE
    • VOICE_STT_TTS_OPENCLAW_FLOW_SLICE
    • VOICE_RUNTIME_VALIDATION_MATRIX
  • Fabric consumer slices:
    • FABRIC_COMBINATION_PROFILE_CONSUMER
    • FABRIC_PRODUCER_CONSUMER_ADOPTION
  • Runtime/GUI slices:
    • ASTERISK_RUNTIME_STACK_SOURCE_OF_TRUTH
    • ASTERISK_GUI_SSO_HANDOFF
    • ASTERISK_GUI_OPERATOR_SURFACE_CONSUMER
  • Transitional operator slice:
    • VOICE_DIRECT_TARGET_OPERATOR_CALL
  • Optional carrier boundary:
    • SIPGATE_CARRIER_BOUNDARY_CONTRACT

Producer-/Consumer-Zuordnung

  • jhf-tenter produces:
    • repo-owned runtime contracts
    • repo-owned verify output
    • canonical Asterisk stack artifacts
  • jhf-tenter consumes read-only:
    • Fabric governance truth
    • Fabric combinations truth
    • OpenClaw host evidence
  • jhf-tenter does not own:
    • Fabric contract semantics
    • OpenClaw runtime implementation
    • deployment execution
    • IdP and SSO truth

Compatibility Window

  • Fabric governance and voice-events adoption currently targets version 1.0.0 as published by Fabric.
  • Combination and optional-slice semantics must track the live Fabric surfaces, not frozen local copies.
  • Runtime stack compatibility is defined by the checked-in compose files and env contracts in this repo.

Lifecycle Status

  • Repository state:
    • active
  • Runtime posture:
    • toolkit plus verification layer
  • Live runtime posture:
    • host/readback required

Readiness / Drift / Monitoring

  • Green means repo-local verifiers, Fabric self-check, and live read surfaces agree.
  • Drift means:
    • docs claim something the host no longer does
    • Fabric-owned versions or states differ from local assumptions
    • ports or runtime ownership are inferred from nearby stacks instead of the repo contract
  • Monitoring in this repo is evidence-oriented, not a separate control plane.

Deployment / Verify

Recommended entry path:

bash scripts/fabric-selfcheck.sh
python3 scripts/ci/verify_repo.py
python3 scripts/export-fabric-metadata.py --check
python3 scripts/ci/verify_asterisk_stack_source_of_truth.py

For deeper voice verification, continue with:

python3 scripts/ci/verify_voice_runtime_slice.py
python3 scripts/ci/verify_stt_tts_flow_slice.py
python3 scripts/ci/verify_voice_live_call.py

Known Limits

  • The deepest live-call path is still sensitive to the external openclaw status --json wrapper blocker.
  • This repo does not own deployment execution even though it owns the stack definition.
  • Several runtime slices are transitional rather than fully productized services.

Exceptions / Waivers

  • The optional sipgate-zammad-cti slice is allowed to stay disabled without making the core agent-call path unhealthy.
  • GUI runtime presence may be externalized to deployment execution while the stack truth stays here.
  • jhf-tenter#87
  • jhf-tenter#88
  • jhf-tenter#90
  • openclaw-environment#30
  • jhf-deployment#170

Docs Platform v1.6 Base Family

  • README.md
  • docs/OVERVIEW.md
  • docs/INSTALL.md
  • docs/CONFIGURATION.md
  • docs/OPERATIONS.md
  • docs/TROUBLESHOOTING.md
  • docs/RELEASE_NOTES.md
  • docs_manifest.yml