Skip to main content

Standing-wants corpus for LLM agents -- intention lifecycle, salience decay, embedding dedup, and private deliberation tools

Project description

3tears Agent Intention

Standing-wants corpus for LLM agents. An intention is agent-authored deliberation output -- a want the agent is holding onto ("ask Pace about the migration", "check whether the wake threads are firing") -- with its own status lifecycle, salience decay, and restraint brakes so the agent surfaces a want at most occasionally rather than every turn.

Part of the 3tears framework.

Installation

pip install 3tears-agent-intention

Why a separate package (not a memory of kind=intention)

Memory is a hard-delete-only user-fact taxonomy with immutable scope columns and no lifecycle. An intention is all lifecycle: open -> asked -> granted / dropped, a partial index for "find the open wants", and a validated status value set. Riding the shared memory_type PG enum would pollute a user-fact taxonomy with an agent-internal control construct and force an irreversible enum add on six consumers.

Enhance-first is still honoured: intention consumes the reusable salience/decay substrate the agent/memory enhancement built (the same salience column shape and the shared apply_salience_decay helper), rather than reinventing it.

Components

intentions table

Partition on agent_id; composite PK (agent_id, intention_id); CAS on date_updated (mirrors memory). Columns: status (PG enum intention_status), content, embedding (pgvector 1024, for dedup on log), salience (NUMERIC(5,4), reuses the decay substrate), last_decayed_at (decay anchor), last_surfaced_at (cooldown anchor), source_memory_id / source_conversation_id (soft-ref provenance, no FK).

User isolation is a user_id WHERE clause, not RBAC

Every metallm user shares one agent_id, so the partition isolates nothing and the agent-owner RBAC short-circuit sees every want. user_id is the only boundary: the collection's user-facing reads take user_id as a required parameter, and every consumer read filters on it.

Versioning policy

The package version moves in lockstep with the rest of the 3tears monorepo -- every package tracks the framework git tag.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

3tears_agent_intention-0.16.0.tar.gz (41.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

3tears_agent_intention-0.16.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

Details for the file 3tears_agent_intention-0.16.0.tar.gz.

File metadata

  • Download URL: 3tears_agent_intention-0.16.0.tar.gz
  • Upload date:
  • Size: 41.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for 3tears_agent_intention-0.16.0.tar.gz
Algorithm Hash digest
SHA256 d39528e5bdc37dc1e1a170adb23f772532264b7cbae3546c878a5fd4bc0cba91
MD5 4289d8f78a08182d2e3ac593954df2ab
BLAKE2b-256 a97cdf3bd0995893fed8cb66372f8e3bf10ed2b0760a706bc054a467e5969764

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3tears_agent_intention-0.16.0.tar.gz:

Publisher: release.yml on pacepace/3tears

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file 3tears_agent_intention-0.16.0-py3-none-any.whl.

File metadata

File hashes

Hashes for 3tears_agent_intention-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d40eb64db5559e5a00241416f3892aca35e6c836a4fdc49df727f992e6aefc0f
MD5 b5b5cc9403f0919cde23474b3bb9b7cc
BLAKE2b-256 6f18cd88b046b9881d48bf5c4abba1c35645ab83a1d1f5ee7922f19f6af6b427

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3tears_agent_intention-0.16.0-py3-none-any.whl:

Publisher: release.yml on pacepace/3tears

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page