Overview
What This Repository Is
Helpifyr Spindle is the repo-owned ERP and operations backbone for the OpenClaw/Helpifyr environment. It extends ERPNext/Frappe with finance, intake, approval, dispatch, MCP, compliance, and verification surfaces.
When To Use Spindle
Use Spindle when a workflow needs canonical business truth, ERP-backed execution, or auditable finance and operations evidence. It is the module to consult when business records, approval-linked business actions, dispatch-tracked documents, or ERP-owned identity/business-role facts must stay authoritative.
What Spindle Owns
- Company bootstrap and reconcile truth for ERP-scoped company setup, fiscal-year posture, admitted W1 company-profile truth, and governed business defaults across quickstart, full, add-company, and reconcile-company-profile modes.
- ERP and business-object truth for the admitted Spindle domain.
- Managed config truth for company-scoped reporting, numbering, approval, and statutory-output posture that lives in ERP business state.
- Reporting/statutory/output truth for repo-owned close, approval, dispatch, and compliance flows.
- Metadata and references for final dossiers/documents whose immutable file truth lives in Loom.
- Business-side execution evidence and dispatch/approval callback reconciliation.
- Repo-owned MCP operator surfaces for Spindle-owned business workflows.
- Business-facing identity and posture projections consumed by other Helpifyr modules.
What Spindle Does Not Own
- Central OIDC/session authority or delegated-login truth.
- Fabric registry, governance, or cross-stack admission ownership.
- External carrier, provider, or shared-host runtime ownership outside repo-defined boundaries.
- Final dossier/document archive truth outside metadata and refs.
- Authority/advisor delivery transport or submission readback owned by
jhf-wire. - Lantern-local or Pattern-local mutation/progress/remediation truth.
- Publisher truth for public docs materialization.
Main Building Blocks
apps/jhf_spindle_core- custom Frappe app with services, APIs, DocTypes, and MCP support
infra/compose- canonical Docker Compose runtime
infra/scripts- bootstrap, align, smoke, release, and metadata helper scripts
docs/- operator, architecture, release, integration, and Fabric-facing repo docs
Repo Category
- category:
service - secondary classification: standalone ERP-backed
tool
Current Lifecycle
- lifecycle:
active - maturity:
pilot - source of truth: Gitea
main
Fabric Readiness
This repo is now prepared for later Fabric modeling through:
fabric-manifest.jsondocs/FABRIC_TOOL_PROFILE.mddocs/FABRIC_CONTRACT.md
It is not yet directly integrated into jhf-fabric.
How To Verify The Current Repo-Owned State
py infra/scripts/check_markdown_compliance.pypy infra/scripts/check_compatibility_contracts.py --checkpy infra/scripts/export_fabric_metadata.py --checkpy <local-workspace-redacted>/helpifyr-fabric/scripts/docs/validate_repo_docs_skeleton.py --repo <local-workspace-redacted>/_worktrees/jhf-spindle/420-wave6-public-docs-source-curation
These checks validate the public-safe source docs, metadata consistency, and the repo's declared documentation skeleton without claiming that every optional runtime lane is live.
Where To Start
- product entrypoint:
README.md - install/bootstrap:
docs/INSTALL.md - runtime/config map:
docs/CONFIGURATION.md - operations:
docs/RUNBOOK.md - fast fault isolation:
docs/TROUBLESHOOTING.md - integrations:
docs/INTEGRATIONS.md - security boundaries:
docs/SECURITY.md - release/update logic:
CHANGELOG.md,docs/RELEASE_NOTES.md,RELEASE_POLICY.md
License notice: AGPLv3 (GNU Affero General Public License v3.0) Website: https://helpifyr.com