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.19.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.19.0-py3-none-any.whl (29.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: 3tears_agent_intention-0.19.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.14

File hashes

Hashes for 3tears_agent_intention-0.19.0.tar.gz
Algorithm Hash digest
SHA256 a87f754bdd2bd22a848447aa5feae22f7e7fa8b24847cf87444cf5b68fb23110
MD5 41ca7a486fea345c47ca1c22ff3b5c57
BLAKE2b-256 5169504dbaae136d4febbfe22e0dfcea1384b3b80b1003ec1f77e51d8565a88a

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3tears_agent_intention-0.19.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.19.0-py3-none-any.whl.

File metadata

File hashes

Hashes for 3tears_agent_intention-0.19.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e9063612a6fb424f4528eca72c6a3dfc1a5bceb4c2053ff1d795652ec0df3783
MD5 b1fecd4cebf23f3f39e5284774b87323
BLAKE2b-256 61b24aab4ffc79a1a7c3f63c9bce18fea1dcad14334355a1533ed9038e75ed6e

See more details on using hashes here.

Provenance

The following attestation bundles were made for 3tears_agent_intention-0.19.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