Catalog PyPI
PACKAGE EXPLORERView in registry

agentivium-core

PyPI

Core abstractions for Agentivium agent-native systems.

Versions collected1
Direct dependencies4From release 0.6.0
Last observed20 Oct, 22:29 UTC

README

Version 0.6.0 documentation

Agentivium Core

agentivium-core defines the small, domain-neutral contracts shared by Agentivium agent-native systems. It provides typed schemas and abstract interfaces for intent parsing, policy validation, planning, tool adaptation, provider-neutral LLM calls, execution tracing, evaluation, and stateful assistant runtimes. Version 0.6.0 hardens the formal verification kernel with strict critical-check aggregation, typed counterfactuals, deterministic output, and explicit component composition on top of the 0.5 memory and retrieval layer.

It is not an agent runtime, a provider-specific LLM wrapper, or a domain implementation. Schedulers, provider clients, policies, and orchestration belong in extension packages.

Install

pip install agentivium-core

For local development:

pip install -e ".[dev]"

Extend the core

Domain packages subclass schemas and implement interfaces:

from agentivium_core.intent import IntentIR, IntentParser


class MyIntentIR(IntentIR):
    domain: str = "my_domain"
    task: str


class MyIntentParser(IntentParser):
    def parse(
        self,
        request: str,
        context: dict[str, object] | None = None,
    ) -> MyIntentIR:
        return MyIntentIR(raw_request=request, task=request)

The dependency direction stays one-way: domain packages import agentivium_core; the core never imports a domain package.

Verifiable intent kernel

The 0.4.0 kernel keeps domain semantics in extensions while core provides the mechanism:

Intent + snapshots + candidate decision + evidence
  → verification checks
  → intent-decision relation
  → admissibility
  → approval / escalation
  → guarded domain execution
  → audit trace

The default policy fails closed: unsupported hard constraints, unknown policy compliance, missing required evidence, contradictions, expired snapshots, and provider exceptions cannot produce an accepted decision. Admissibility remains separate from authorization and approval.

Stable cross-package imports are documented in the 0.4 compatibility note. See the verifiable-intent guide for a complete non-domain extension example and strictness behavior. The additive formal verification contract documents strict aggregation, typed counterfactuals, deterministic output, and provider APIs.

The additive public changes and migration notes are documented in the 0.6 compatibility note.

Memory and retrieval

The 0.5.0 memory layer makes lifecycle and authority boundaries explicit. Records declare scope, namespace, provenance, confidence, expiry, and supersession. Retrieval excludes expired or superseded records by default. Compaction is an application-replaceable contract; the offline reference implementation preserves recent turns verbatim and produces a traceable summary without storing hidden reasoning.

from agentivium_core.memory import InMemoryMemoryStore, MemoryQuery, MemoryRecord
from agentivium_core.retrieval import MemoryRetriever

store = InMemoryMemoryStore()
store.add(
    MemoryRecord(
        memory_id="preference-1",
        memory_type="preference",
        text="Prefer concise answers",
        content={"response_style": "concise"},
        thread_id="thread-1",
    )
)

matches = store.query(MemoryQuery(text="concise", thread_id="thread-1"))
results = MemoryRetriever(store, thread_id="thread-1").retrieve("concise")

Vector retrieval remains optional: applications inject an EmbeddingClient and a VectorStore; Core includes only an in-memory cosine adapter for tests and small local deployments. See the 0.5 compatibility note.

Public API

from agentivium_core.intent import IntentIR, IntentParser
from agentivium_core.planner import ActionPlan, Planner
from agentivium_core.policy import (
    PolicyValidator,
    ValidationIssue,
    ValidationResult,
)
from agentivium_core.tools import ToolAdapter
from agentivium_core.trace import ExecutionTrace
from agentivium_core.eval import EvaluationRecord

Stateful assistant runtime

Agentivium Core 0.3.0 added reusable abstractions for multi-turn assistant systems: conversation state, context packs, memory, retrieval, ambiguity modeling, clarification requests, intent updates, tool permissions, trace events, and multi-turn evaluation records.

from agentivium_core.clarification import (
    BlockingFirstClarificationPlanner,
    IntentAmbiguity,
)

ambiguities = [
    IntentAmbiguity(
        field="policy.account",
        ambiguity_type="missing_required",
        severity="blocking",
        reason="Account is required.",
        question="Which account should I use?",
    )
]

planner = BlockingFirstClarificationPlanner()
request = planner.plan_clarification(ambiguities)

print(request.questions[0].question)

Domain packages specialize these contracts. For example, hpc-claw can build HPC-specific context providers, policy checks, and tool adapters on top of the core assistant-runtime interfaces without adding scheduler logic to core.

Provider-neutral LLM abstraction

agentivium-core defines LLMClient, LLMRequest, LLMResponse, PromptTemplate, StructuredOutputSpec, and LLMCallTrace so downstream packages can use LLMs without coupling core to OpenAI, Anthropic, Gemini, Ollama, vLLM, llama.cpp, or any other provider.

from agentivium_core.llm import (
    LLMClient,
    LLMRequest,
    LLMResponse,
    PromptTemplate,
)


class MyLocalLLMClient(LLMClient):
    def generate(self, request: LLMRequest) -> LLMResponse:
        return LLMResponse(content='{"intent": "example"}', model="local")


template = PromptTemplate(
    name="intent_parser",
    system="You extract structured intent.",
    user_template="Request: {request}",
)

messages = template.render({"request": "Run a small MPI job."})
client = MyLocalLLMClient()
response = client.generate(LLMRequest(messages=messages))
print(response.content)

Production provider clients live in domain or provider packages. Core only defines the contracts and a MockLLMClient for tests and demos.

See the concepts, API reference, extension guide, and examples. The complete v0.1 rationale and boundaries are preserved in the original design guideline.

Downloads & popularity

3downloads
1-day window · source-reported counts20 Oct 2026
1890
2026-07-23: 18 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-23–2026-07-232026-07-24: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-24–2026-07-242026-07-25: 9 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-25–2026-07-252026-07-26: 7 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-26–2026-07-262026-07-27: 6 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-27–2026-07-272026-07-28: 7 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-28–2026-07-282026-07-29: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-29–2026-07-292026-07-30: 10 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-30–2026-07-302026-07-31: 5 · observed 2026-10-21T14:33:35.0048228Z · period 2026-07-31–2026-07-312026-08-01: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-01–2026-08-012026-08-02: 7 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-02–2026-08-022026-08-03: 6 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-03–2026-08-032026-08-04: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-04–2026-08-042026-08-06: 15 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-06–2026-08-062026-08-09: 6 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-09–2026-08-092026-08-10: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-10–2026-08-102026-08-11: 10 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-11–2026-08-112026-08-14: 4 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-14–2026-08-142026-08-15: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-15–2026-08-152026-08-17: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-17–2026-08-172026-08-19: 3 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-19–2026-08-192026-08-23: 4 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-23–2026-08-232026-08-24: 7 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-24–2026-08-242026-08-28: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-28–2026-08-282026-08-31: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-08-31–2026-08-312026-09-01: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-01–2026-09-012026-09-07: 5 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-07–2026-09-072026-09-10: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-10–2026-09-102026-09-13: 13 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-13–2026-09-132026-09-14: 12 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-14–2026-09-142026-09-15: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-15–2026-09-152026-09-16: 13 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-16–2026-09-162026-09-19: 4 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-19–2026-09-192026-09-20: 12 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-20–2026-09-202026-09-22: 3 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-22–2026-09-222026-09-23: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-23–2026-09-232026-09-26: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-26–2026-09-262026-09-27: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-27–2026-09-272026-09-28: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-28–2026-09-282026-09-30: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-09-30–2026-09-302026-10-02: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-02–2026-10-022026-10-06: 10 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-06–2026-10-062026-10-07: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-07–2026-10-072026-10-09: 2 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-09–2026-10-092026-10-10: 10 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-10–2026-10-102026-10-12: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-12–2026-10-122026-10-13: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-13–2026-10-132026-10-14: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-14–2026-10-142026-10-15: 6 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-15–2026-10-152026-10-16: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-16–2026-10-162026-10-17: 11 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-17–2026-10-172026-10-18: 4 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-18–2026-10-182026-10-19: 1 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-19–2026-10-192026-10-20: 3 · observed 2026-10-21T14:33:35.0048228Z · period 2026-10-20–2026-10-20
23 Jul20 Oct

pypistats · 54 observations shown. Missing days are unknown. Source category: overall: without mirrors.

View observed values
Date / source periodValueObserved at
2026-10-20 – 2026-10-2032026-10-21T14:33:35.0048228Z
2026-10-19 – 2026-10-1912026-10-21T14:33:35.0048228Z
2026-10-18 – 2026-10-1842026-10-21T14:33:35.0048228Z
2026-10-17 – 2026-10-17112026-10-21T14:33:35.0048228Z
2026-10-16 – 2026-10-1612026-10-21T14:33:35.0048228Z
2026-10-15 – 2026-10-1562026-10-21T14:33:35.0048228Z
2026-10-14 – 2026-10-1412026-10-21T14:33:35.0048228Z
2026-10-13 – 2026-10-1312026-10-21T14:33:35.0048228Z
2026-10-12 – 2026-10-1212026-10-21T14:33:35.0048228Z
2026-10-10 – 2026-10-10102026-10-21T14:33:35.0048228Z
2026-10-09 – 2026-10-0922026-10-21T14:33:35.0048228Z
2026-10-07 – 2026-10-0712026-10-21T14:33:35.0048228Z
2026-10-06 – 2026-10-06102026-10-21T14:33:35.0048228Z
2026-10-02 – 2026-10-0212026-10-21T14:33:35.0048228Z
2026-09-30 – 2026-09-3012026-10-21T14:33:35.0048228Z
2026-09-28 – 2026-09-2822026-10-21T14:33:35.0048228Z
2026-09-27 – 2026-09-2712026-10-21T14:33:35.0048228Z
2026-09-26 – 2026-09-2612026-10-21T14:33:35.0048228Z
2026-09-23 – 2026-09-2322026-10-21T14:33:35.0048228Z
2026-09-22 – 2026-09-2232026-10-21T14:33:35.0048228Z
2026-09-20 – 2026-09-20122026-10-21T14:33:35.0048228Z
2026-09-19 – 2026-09-1942026-10-21T14:33:35.0048228Z
2026-09-16 – 2026-09-16132026-10-21T14:33:35.0048228Z
2026-09-15 – 2026-09-1512026-10-21T14:33:35.0048228Z
2026-09-14 – 2026-09-14122026-10-21T14:33:35.0048228Z
2026-09-13 – 2026-09-13132026-10-21T14:33:35.0048228Z
2026-09-10 – 2026-09-1022026-10-21T14:33:35.0048228Z
2026-09-07 – 2026-09-0752026-10-21T14:33:35.0048228Z
2026-09-01 – 2026-09-0122026-10-21T14:33:35.0048228Z
2026-08-31 – 2026-08-3122026-10-21T14:33:35.0048228Z
2026-08-28 – 2026-08-2812026-10-21T14:33:35.0048228Z
2026-08-24 – 2026-08-2472026-10-21T14:33:35.0048228Z
2026-08-23 – 2026-08-2342026-10-21T14:33:35.0048228Z
2026-08-19 – 2026-08-1932026-10-21T14:33:35.0048228Z
2026-08-17 – 2026-08-1722026-10-21T14:33:35.0048228Z
2026-08-15 – 2026-08-1522026-10-21T14:33:35.0048228Z
2026-08-14 – 2026-08-1442026-10-21T14:33:35.0048228Z
2026-08-11 – 2026-08-11102026-10-21T14:33:35.0048228Z
2026-08-10 – 2026-08-1022026-10-21T14:33:35.0048228Z
2026-08-09 – 2026-08-0962026-10-21T14:33:35.0048228Z
2026-08-06 – 2026-08-06152026-10-21T14:33:35.0048228Z
2026-08-04 – 2026-08-0422026-10-21T14:33:35.0048228Z
2026-08-03 – 2026-08-0362026-10-21T14:33:35.0048228Z
2026-08-02 – 2026-08-0272026-10-21T14:33:35.0048228Z
2026-08-01 – 2026-08-0112026-10-21T14:33:35.0048228Z
2026-07-31 – 2026-07-3152026-10-21T14:33:35.0048228Z
2026-07-30 – 2026-07-30102026-10-21T14:33:35.0048228Z
2026-07-29 – 2026-07-2922026-10-21T14:33:35.0048228Z
2026-07-28 – 2026-07-2872026-10-21T14:33:35.0048228Z
2026-07-27 – 2026-07-2762026-10-21T14:33:35.0048228Z
2026-07-26 – 2026-07-2672026-10-21T14:33:35.0048228Z
2026-07-25 – 2026-07-2592026-10-21T14:33:35.0048228Z
2026-07-24 – 2026-07-2412026-10-21T14:33:35.0048228Z
2026-07-23 – 2026-07-23182026-10-21T14:33:35.0048228Z

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.6.018 Jul 20264

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:29 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:2a4d18449f5030ac234da269f4ccff6173a205d72e2372251dfd89bc6e858cdd