A boundary for every call.
Capability, Cell, Broker, Guardian and Vault: a shared contract for using private knowledge without transferring its source.
Private Capability Liquidity
OCLITH describes a way to make private knowledge discoverable, callable, composable and chargeable while its owner retains the source and the authority to set access boundaries. The public surface is a purpose and an interface: check, compare, classify, select or score.
A Capability names that task. A Cell defines the revocable execution boundary around it: accepted input, allowed output, withheld content, validity period and call limits. Publishing a capability does not publish the underlying source.
Three cooperating roles
Broker matches a task to a capability and reduces the request to the information needed for that task. It does not need unrestricted source access.
Guardian checks authorization, requested fields, expiry, revocation and cumulative disclosure budget. It checks the candidate output again before releasing it. One call can encounter Guardian twice.
Vault processes the task in the environment that controls the source. A production Vault must enforce its declared restrictions. Network and memory flags in a Manifest express policy; they do not establish a runtime guarantee on their own.
These are cooperating responsibilities. They are not product tiers, investment products or staking roles. Receipt is a record module, not a fourth agent.
One call: six processing stages
- Intent: validate the capability, input, requested fields and expiry.
- Broker: match the capability and keep the necessary task information.
- Guardian: check the boundary, revocation and available budget.
- Vault: apply the declared sample rules or a connected execution adapter.
- Guardian: validate the candidate output against its allowlist.
- Capsule: record the permitted result, policy, trace and budget change.
Failure stops the call at its failing stage. Empty input, a forbidden return field, expired access, a revoked Cell, insufficient budget or an undeclared candidate field cannot proceed to a success record.
A Cell: five owner control steps
A Cell can support many bounded calls. Its lifecycle describes the owner's control of that capability, rather than the stages inside one execution.
- Define: declare the task, accepted input, allowed output and withheld content.
- Validate: compile the current Manifest and identify its declared version and SHA-256 policy digest.
- Make available: expose the interface in discovery and state where it can actually run.
- Guard: adapt later access and output to permission, lifetime and disclosure history.
- Revoke: close future access while retaining prior results and records.
Scrolling through this lifecycle only changes the presentation. It does not execute a request, publish a declaration, request a signature or change access.
Manifest validity is not runtime certification. Published means a declaration is registered; a private executor must be connected separately. Request TTL limits one request, while local Cell revocation is a continuing access state. A successful call does not mark a Cell trusted, attested or settled.
The Console
The Console implements the six processing stages for six public examples. It analyzes input as text and never evaluates pasted code. The private-code-risk example checks explicit risk patterns such as dynamic execution and hardcoded secrets. Its clean result means no listed sample pattern matched, rather than a complete security audit.
The research, policy, operations, personal context and evaluator examples each have their own public deterministic rules. Research measures lexical overlap between two supplied summaries; it does not assess research quality or infer facts from an unseen source. Its aligned and distinct examples use the same declared word rule. Inspect their rule descriptions and sample inputs in Cells.
The Console is a functional sample of policy checks and record generation. It does not connect to private source repositories or provide confidential execution. Its sample rules ship with the frontend and can be inspected by the caller.
Manifest contract
A new Manifest uses protocol oclith/capability-manifest and schemaVersion 2.0.0. Its task interface version is separate from the schema version. A complete Manifest contains protocol, schemaVersion, version, capability, accepts, returns, disclosure.deny, execution, privacy, settlement.condition, settlement.status and policyDigest. New built-in declarations also include outputSchema, which defines each return field’s type and precision. The compiler validates the shape and normalizes the policy before hashing it.
New default declarations use a declaration status and three distinct acceptance terms: interface_output_valid, record_integrity_matched and agreed_business_acceptance. These mean that output conforms to the interface, covered record content matches its digests, and delivery meets the agreed business acceptance criteria. These strings declare terms; they do not execute acceptance, transfer fees or turn digest verification into payment. Older settlement fields remain covered by their original policy digest.
The proprietary evaluator’s 2.0.0 interface declares score as an integer from 0 to 3 and scoreBand as one of criteria-mostly-met or criteria-incomplete. The interface presents a released score as Exact score (for example 3/3), criteria-mostly-met as Coarse band · 2–3 criteria, and criteria-incomplete as Coarse band · 0–1 criteria. JSON, copies and downloads retain their original values. Other built-in interfaces use 1.1.0. Under reduced precision, exact score is withheld; scoreBand may leave only if it was declared and requested. A score-only request is explicitly rejected when exact precision cannot be released. No display derives an unreleased exact score from a band, input or sample expectation.
The request lifetime is expressed as execution.ttlSeconds. A request expiry is an ISO timestamp. They are never interpreted as block counts.
The compiler trims identifiers, deduplicates and sorts declared field lists, recursively sorts object keys and keeps remaining array order. It computes SHA-256 over that canonical JSON while excluding policyDigest. This is the shared browser and server compilation path.
Drafts, examples and execution records
The Console keeps four objects distinct. A draft is the input, return fields and policy currently being edited. An exampleRun is an explicitly labeled teaching record produced with public sample rules. An activeRun is an executed record selected for inspection. History holds execution snapshots.
Editing a draft does not rewrite an old record. New request keeps the capability, valid compiled policy, ledger and access state; it resets the input to the default legal sample, permitted return fields and a new TTL. It clears the currently displayed result and diagnostics. It does not restore revoked access or reset disclosure history.
Loading an example for inspection preserves its recorded identity. Starting a new draft prepares a new request but does not run it. Replay only changes playback progress.
Discovery and owner control
The directory separates built-in Examples from Published registry records. Examples are not counted as registered operators or completed private tasks. Published entries come from this deployment's API and retain their server supplied owner, record ID, policy digest and active or revoked state.
Owner publication requires a signed session. Connecting a wallet, signing in, compiling a Manifest and publishing are separate actions. The server verifies the signed challenge and checks ownership for revocation. Reviewing, copying or downloading a policy never requests a signature or transaction.
Local revocation blocks new sample calls in this browser. Explicitly authorizing locally again grants new access without changing prior records or ledger entries.
Revoking a registry entry closes its active discovery status. A private execution adapter must enforce revocation for new work. Registry revocation alone does not destroy source data, terminate every running operation or prove a network wide broadcast.