Nexum / Nexum-Expanded /runtime /docs /integration.md
Wl6adams's picture
Organize private Nexum release into Lite, Universal, and Expanded profiles
9a70a84
|
Raw
History Blame Contribute Delete
8.19 kB

Nexum Integration Surfaces

CLI

nexum capabilities
nexum tools list
nexum tasks list --workspace ./workspace
nexum artifacts list --workspace ./workspace
nexum events --workspace ./workspace --session-id SESSION_ID
nexum learning status --model /models/Nexum \
  --state-dir ./state --state-namespace RELEASE_INSTANCE
nexum approvals decide APPROVAL_ID approve \
  --workspace ./workspace --session-id SESSION_ID

For a direct policy-controlled tool retry, preserve the same tool text, session, and call identifier, then attach the approved receipt:

nexum tools execute "PatchRollback(patch_id='patch_...')" \
  --workspace ./workspace --session-id SESSION_ID --call-id CALL_ID
nexum approvals decide APPROVAL_ID approve \
  --workspace ./workspace --session-id SESSION_ID
nexum tools execute "PatchRollback(patch_id='patch_...')" \
  --workspace ./workspace --session-id SESSION_ID --call-id CALL_ID \
  --approval-id APPROVAL_ID

nexum agent runs the model-driven NNF X loop. There is no default host turn limit. A caller may cancel by disconnecting or by cancelling a durable task.

Shared-learning rollback is an explicit operator recovery action. First inspect the validated status and candidate identity, then supply all three concurrency guards:

nexum learning rollback --model /models/Nexum \
  --state-dir ./state --state-namespace RELEASE_INSTANCE \
  --target-generation 2 --expected-generation 3 \
  --expected-candidate EXACT_CANDIDATE_SHA256

The restored state is committed as the next generation so the decision history remains append-only.

Engineering Evidence Workflow

Reproduction, triage, disclosure, and patching are available through the same typed tool surface as terminal and repository operations. A typical model-owned sequence is:

  1. DraftCreate records candidate actions or answers before an effect is taken. DraftCompare attaches evidence and observations; DraftSelect persists the model-selected route for the next action or final response.
  2. ReproductionRun captures one contained run and model-selected file state; ReproductionCompare distinguishes stable output from environmental drift.
  3. TriageCreate cites those receipts and records facts separately from hypotheses, impact, confidence, and unresolved investigation actions. TriageUpdate appends later evidence and next actions to the same case.
  4. PatchBegin snapshots every covered file. PatchApply uses exact digests; PatchVerify binds real execution to the patch; PatchCommit checks that the verified bytes have not changed. PatchRollback restores exact original snapshots under the destructive-action policy.
  5. DisclosureCreate can cite the triage and patch receipts while omitting raw command output, credentials, absolute paths, session identity, and private runtime state. DisclosureStatus reads the resulting sanitized receipt.
  6. EvidenceBundleCreate can combine reproduction, triage, disclosure, and patch receipts into one sanitized handoff artifact for external systems or maintainers. EvidenceBundleStatus reads the bundle receipt without exposing raw private output.

All records are session-scoped under $NEXUM_HOME/engineering/ (or the host default .nexum/engineering/). There is no fixed number of reproduction runs, evidence receipts, patch files, or corrective iterations. Nexum selects the next action from current evidence and trained completion state.

Integrated NoNE Coordination

NNF X invokes one integrated Nexum forward path. It does not emulate internal coordination by repeatedly calling a single isolated model. The complete mapped bank set remains available to learned routing, and selected banks can run multiple specialist routes concurrently before returning one model-owned action or response.

Those routes do not collapse immediately into a host-selected winner. Nexum keeps their proposals distinct long enough to measure disagreement, challenge the active draft, combine persistent outcome and repair evidence, and rehearse the result before its native output surface. Model-owned confidence and signed correction pressure determine how strongly rehearsal changes the current path.

The runtime imposes no fixed bank, expert, or internal-agent count. Verified self-improvement pressure can grow session-owned banks from a model-selected donor, preserve transferred learned state, and use the expanded topology on the next forward. Mutable pages are restored only for their owning session after a clean restart. Verified promoted lineage can initialize a later session in the same operator namespace without receiving private page contents. Callers observe receipts and results but do not select the bank count or specialist paths.

HTTP

The server offers:

  • OpenAI-compatible chat and response endpoints;
  • POST /agent/run for the full model-driven tool loop;
  • GET /self-improvement/status and authenticated POST /self-improvement/rollback for versioned learning recovery;
  • POST /mcp for MCP JSON-RPC initialization, discovery, and calls;
  • GET /.well-known/agent-card.json and POST /a2a for delegated work;
  • task, approval, event, artifact, template, and capability endpoints.

Server-side tool execution requires --enable-tools and a bearer key. A non-loopback listener always requires a bearer key.

Caller-Owned Tools

When Nexum selects a tool that the caller owns, /agent/run returns external_tool_required with the exact pending call. Preserve its ID, name, and arguments. Resume the same session and objective with:

{
  "session_id": "same-session",
  "prompt": "same objective",
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "CallerTool",
        "description": "Caller-owned operation",
        "parameters": {
          "type": "object",
          "properties": {"exact": {"type": "string"}},
          "required": ["exact"],
          "additionalProperties": false
        }
      }
    }
  ],
  "tool_results": [
    {
      "tool_call_id": "exact-call-id",
      "name": "CallerTool",
      "args": {"exact": "arguments"},
      "ok": true,
      "executed": true,
      "output": "observed result"
    }
  ]
}

The runtime persists the result before signing it. Changed IDs, names, arguments, answer fields, reward fields, or evaluator fields are rejected.

If a direct completion contains a model action with an unknown function name or invalid arguments, the response keeps that exact action in nexum.tool_action_protocol_rejected_calls. A connector may submit those unchanged calls to POST /tools/execute to obtain signed runtime_rejection observations, then return those observations to the same session. The connector must not rename the function, rewrite its arguments, or substitute a different action; Nexum owns the corrected forward.

For any selected function call, Nexum may include depends_on in the function arguments. Treat it as ordering metadata, not as an executable tool argument: return the cited parent results first, then return the dependent result with the ordinary arguments only. The runtime strips this field before execution and enforces that ordering before the next model turn receives signed observations.

Structured Input

RequestInput uses the same durable handoff. Its output must be a JSON value that satisfies the exact schema selected by Nexum. The open task resumes from the authenticated caller response.

Long-Running Tasks

TaskStart launches a detached workspace command without imposing a host time limit. TaskStatus returns durable progress and the final content-addressed artifact. TaskCancel is model-visible and policy controlled. Worker loss is recorded as a failed result so Nexum can correct instead of waiting indefinitely.

Browser Extra

python -m pip install './runtime[browser]'
playwright install chromium

Browser profiles are scoped by workspace and session. Page content is marked untrusted. Navigation is limited to public HTTP(S) targets or files inside the selected workspace. Arbitrary script evaluation is not exposed as a tool.