Loom
This longform module page is the manufacturer-docs entry point for the module. It uses the product overview when that surface is admitted and falls back to the first safe versioned detail page when the overview is still blocked. Use it first; drop into the versioned product pages only when you need deeper surface detail or channel-specific reference.
- Canonical module key:
loom - Source repo:
JaddaHelpifyr/jhf-loom - Preferred versioned channel today:
stable
Versioned product docs
Use these direct entry points when you need exact product behavior, operations, or reference detail:
Tool / Contract Summary
jhf-loom is the live Helpifyr ECM runtime. The repository owns the Loom stack
definition, runtime contracts, repo-owned validation scripts, and documentation
for the live Alfresco CE service on the owner-supplied runtime host.
When You Need Loom
Use jhf-loom when the Helpifyr stack needs one governed place for:
- human document access through Share
- repository/API-based content retrieval and update
- metadata and version-controlled document handling
- search-backed readback and transform-backed renditions
Do not use jhf-loom as the owner for identity, ingress, or shared Fabric
governance truth.
Business Value
Loom gives the Helpifyr stack one governed place for:
- content storage
- metadata updates
- version-aware content handling
- Share-based human access
- repository/API-based machine access
- search-backed retrieval
- transform-backed document renditions
Current Verified State
The following are live and verified now:
- runtime:
Alfresco Community Edition 26.1 - hostname:
<internal-runtime-redacted> - canonical human path: Share behind proxy-SSO
- canonical machine path: repository/API behind the same trusted ingress
- repo-owned live smoke and resilience validators are green
Available Now
- repo-owned compose runtime for DB, broker, transform, search, repo, and Share
- runtime contracts in
config/runtime/* - runtime port binding contract in
config/runtime/runtime-port-bindings-contract.json - Fabric consumer posture in
config/fabric/* - public Share and repository surfaces through the trusted ingress path
- repo-owned verify paths for smoke, restart, and cold start
- canonical docs platform v1.6 base family rooted at:
README.mddocs/OVERVIEW.mddocs/INSTALL.mddocs/CONFIGURATION.mddocs/OPERATIONS.mddocs/TROUBLESHOOTING.mddocs/RELEASE_NOTES.mddocs_manifest.yml
Optional / Extended
- direct Alfresco-to-Keycloak integration remains non-canonical
- domain and boundary docs describe policy and model posture, but they do not claim a custom deployed content model exists in the live runtime
Planned / Not in Current Scope
- new Fabric-produced shared contract families from Loom
- new repo-owned workflow workers outside the Alfresco platform services
- new custom content model rollout beyond the documented domain vocabulary
Public Surfaces
https://<internal-runtime-redacted>/https://<internal-runtime-redacted>/share/https://<internal-runtime-redacted>/alfresco/
Repo-owned host-loopback defaults are documented in
docs/RUNTIME_PORT_BINDINGS.md: jhf-loom-repo defaults to 28081 and
jhf-loom-share defaults to 28082. These defaults are not public edge
routes; public ingress remains owned by JaddaHelpifyr/jhf-openclaw-env.
Ownership Boundary
Machine-readable boundary contract:
- repo-boundary-contract.json (
config/runtime/repo-boundary-contract.json) - validator:
python scripts/validate_repo_boundary_contract.py
jhf-loom owns:
- the Loom compose/runtime definition
- Alfresco repository, Share, search, transform, DB, and broker stack posture
- repo-owned runtime validators and operator runbooks
- ECM-specific contracts and evidence docs in this repository
- final stored document truth, immutable dossier files, and evidence bundles after admission
jhf-loom does not own:
- shared governance or docs contracts in Fabric
- ingress, DNS, TLS, and public edge routing
- identity provider truth or SSO ownership
- publisher or materialized public docs ownership
- workflow approval decisions, business closeout truth, or submission authority
Producer-/Consumer-Zuordnung
Producer boundary:
- no shared Fabric truth is produced here today
Consumer boundary:
- Loom consumes Fabric-owned docs standard, matrix, registry, families, schemas, JARVIS, and admission surfaces read-only
- Loom consumes identity from
jhf-heddle - Loom consumes ingress/TLS/DNS from
jhf-openclaw-env
Bootstrap document SoT seam:
- downstream repos may reference Loom document identifiers, URIs, signatures, and evidence handles
- downstream repos must not create a second final-document archive or immutable-evidence truth beside Loom
- Fabric remains the admission/gate/closeout truth even when Loom is the final persisted document truth
Lifecycle Status
- runtime state:
live - public path state:
live - SSO state:
proxy-sso-live - repo maturity:
active-runtime-with-boundary-docs
Readiness / Drift / Monitoring
- search is mandatory for green readiness
- no partial-green state is allowed while search is red
- current host drift must still be tracked if Docker marks
jhf-loom-searchunhealthy while functional probes remain green
Verify Path
For a repo-owned verification pass, run:
python scripts/validate_docs_inventory_rollout.py
python scripts/validate_docs_platform_v1_6.py
python scripts/validate_repo_baseline.py
For runtime/operator checks, continue with the command-first paths documented in
docs/TROUBLESHOOTING.md and docs/OPERATIONS.md.
Release Eligibility Posture
- Public release-surface admission is bounded by
contracts/admission/release_surface_inventory_v1.json. - Current repository history posture is tracked in
contracts/admission/repository_publication_history_posture_v1.json. - Active owner blocker:
JaddaHelpifyr/jhf-loom#281. jhf-loomremainspending_history_scan; this slice prepares and tests public release surfaces only and does not authorize publication.- Repo-owned history evidence now runs through
python scripts/verify_repository_history_posture.pyand currently provesfiltered_publication_required. - Canonical Gitea history remains private or internal; a future public candidate uses filtered publication from exact
mainand never rewrites canonical history. - The owner decision is recorded in
docs/FILTERED_PUBLICATION_DECISION.md.
License: AGPLv3.
Helpifyr: https://helpifyr.com