Capabilities
This file is the human-readable companion to fabric-manifest.json.
Capability keys and the fields scope, consumer, control_level, and external_callable must stay aligned with the manifest.
Boost + Integration Composition v1.4
The additive v1.4 extension manifest is contracts/extensions/spindle_extension_manifest_v2.json.
It makes Spindle the first bindable core_module without changing existing APIs or
reclassifying Spindle as a product boost. The three admitted, read-only, company-scoped
capability names are:
spindle.company-profile.read: Spindle company-profile truth fromdocs/contracts/spindle-bootstrap-company-profile-truth.json.spindle.operator-summary.read: Spindle MCP/operator summary tools inapps/jhf_spindle_core/jhf_spindle_core/api/mcp_tools.py.spindle.support-case.read: Spindle support-case owner truth fromdocs/contracts/support-case-envelope.jsonandsupport_context.
This v1.4 declaration is read-only and does not admit a safety lane or production write. Unknown, phantom, write-capable, or locally shadowed capability names must fail closed.
Standardized Capability Inventory
| key | title | stability | scope | consumer | control_level | external_callable | purpose |
|---|---|---|---|---|---|---|---|
approval-callback | Signed approval callback ingest | stable | externally-callable | OpenClaw and n8n callback senders | callback-only | true | Apply signed OpenClaw and n8n HiL decisions to Approval Packet backed ERP flows. |
support-case-adapter | Support case adapter | stable | externally-callable | Zammad, Spindle services, and Fabric-context consumers | guarded-transport | true | Ingest and emit support events with correlation envelope and idempotent audit behavior. |
support-context-hydration | Support context hydration | stable | internal-only | support enrichment handlers and operator surfaces | read-only | false | Resolve support case business references into ERP object context with partial markers. |
plan-studio-context-surface | Plan Studio business-context surface | stable | internal-only | Lantern, Pattern, and future Plan Studio intake consumers | read-only-fail-closed | false | Publish spindle-owned business unit, team, owner, capability, and optional business-tool context as read-only intake truth for admitted planning sessions. |
weft-workspace-binding-and-reminder-truth | Weft workspace binding and reminder truth | partial | internal-only | Weft, Fabric, Jadda Interface, Pattern, and Lantern consumers | read-only-fail-closed | false | Publish spindle-owned customer/case/task/reminder/non-human-identity boundary plus candidate/readback rules and a read-only preview consumer so Weft stays weaker than Spindle and cannot project local done truth. |
identity-plane-access-projection | Identity plane access projection | stable | internal-only | Fabric projection consumers and Heddle identity consumers | read-only-fail-closed | false | Publish spindle-owned Plane access and lifecycle facts with deny-on-conflict dominance. |
identity-surface-access-posture | Identity surface access posture | stable | internal-only | Fabric/Heddle/downstream projection consumers | read-only-fail-closed | false | Publish spindle-owned surface role profiles, scope bindings, and effective posture for all current Wave A1 admitted surfaces. |
identity-stalwart-management-access-truth | Stalwart management access business truth | partial | internal-only | Fabric projection and jhf-heddle operator SSO consumers | read-only-fail-closed | false | Publish an explicit source-truth decision for the Stalwart Management surface; it never issues a session or grants downstream access. |
identity-superadmin-and-nonhuman-drift | Superadmin and non-human drift contract | stable | internal-only | Fabric/Heddle/downstream projection consumers | read-only-fail-closed | false | Publish explicit superadmin lifecycle safety and diagnosable deny-first non-human drift semantics. |
identity-voice-eligibility | Voice eligibility business truth | stable | internal-only | Fabric/Warp/Tenter/OpenClaw projection consumers | read-only-fail-closed | false | Publish explicit voice eligibility for Jadda main:main, permanent sales hot, sales warm pool, async defaults, and fail-closed voice_unavailable semantics. |
supplier-intake | Supplier intake staging | stable | externally-callable | n8n or intake adapters | webhook-ingest | true | Accept staged supplier invoice intake and create Supplier Intake evidence. |
payment-provider-intake | Payment provider intake | stable | externally-callable | Paddle and Stripe webhook senders | webhook-ingest | true | Normalize Paddle and Stripe events into ERP-facing staging records. |
website-contact-intake | Website contact intake | stable | externally-callable | jhf-web website intake sender | webhook-ingest | true | Accept signed website contact intake payloads and create ERP lead evidence. |
mcp-access | MCP operator access | stable | externally-callable | operators and agent clients | guarded-read-write | true | Expose tools, prompts, and resources for operators and agents. |
mcp-capability-inventory | MCP capability inventory | stable | observable | Fabric and Lantern module-matrix consumers | read-only | true | Publish only versioned Spindle MCP interface metadata, runtime/interface posture, freshness and classification; it never exposes ERP records, secrets or write authority. |
accounting-runtime | Accounting runtime | stable | internal-only | ERPNext/Frappe runtime | system-of-record | false | Keep ERP-backed finance and operations state as the system of record. |
operator-summary | Operator summary surfaces | stable | observable | operators and read-only integrators | read-only | true | Provide governance, dispatch, compliance, and reporting summaries. |
integration-status | Integration status | stable | observable | Fabric and operations readers | read-only | true | Expose a narrow presence and health snapshot. |
Classification Rules
externally-callablemeans a documented inbound contract exists and external counterparties may call it under the documented auth rules.internal-onlymeans the capability is real but not a supported external invocation surface.observablemeans the capability is intended for read-mostly visibility rather than write-side control.
Notes
- this file is human-readable
fabric-manifest.jsonremains the machine-readable source of truth- if the capability inventory and manifest diverge, fix both in the same slice
License notice: AGPLv3 (GNU Affero General Public License v3.0) Website: https://helpifyr.com