linkedparticles 1.172.0__tar.gz → 1.187.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/PKG-INFO +2 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/conformance/README.md +6 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/conformance/profile.yaml +73 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/openapi.json +17 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/config.yaml.sample +137 -30
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/constraints.txt +50 -39
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/app.py +27 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/__init__.py +14 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_claude_code.py +325 -6
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_progress.py +17 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/audit.py +13 -4
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/benchmark.py +77 -32
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/config.py +27 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/corpus.py +13 -6
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/db.py +2 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/extract.py +20 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/extractor.py +39 -12
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/hook.py +421 -4
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/inbox.py +7 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/init.py +24 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/links.py +2 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/lint.py +6 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/memory.py +10 -8
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/particle.py +2 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/reconcile.py +31 -5
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/reindex.py +2 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/review.py +2 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/rules.py +9 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/subjects.py +52 -19
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/synthesis_cache.py +2 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/client/http.py +3 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/daemon.py +8 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/equivalence.py +10 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/loader.py +9 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/observer/runner.py +5 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/runner.py +28 -4
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/deposit.py +47 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/store.py +117 -15
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/notion.py +5 -0
- linkedparticles-1.187.3/particles/ingest/agent_extraction.py +376 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/append_base.py +26 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/authorities/__init__.py +3 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/authorities/registry.py +16 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/authorities/wikidata.py +27 -11
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/conflict_plan.py +19 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/narrative_merge.py +8 -4
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/pair_selection.py +148 -27
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/pipeline.py +462 -81
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/subject_resolver.py +59 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/update_supersession.py +164 -7
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/memory_compat/server.py +3 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/server.py +9 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/write.py +44 -0
- linkedparticles-1.187.3/particles/network_posture.py +221 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/observability/setup.py +28 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/_quarantine.py +36 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/abstraction.py +10 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/audit.py +351 -70
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/consolidation.py +276 -10
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/consolidation_plan.py +67 -5
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/contradiction_disclosure.py +4 -16
- linkedparticles-1.187.3/particles/operations/held_release.py +566 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/inbox.py +22 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/links_suggest.py +64 -43
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/contradictions.py +6 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/granularity.py +3 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/open_inconsistency.py +71 -6
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/orchestrator.py +14 -4
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/staleness.py +7 -2
- linkedparticles-1.187.3/particles/operations/paraphrases.py +482 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/as_of.py +16 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/reanchor.py +265 -61
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/reconcile.py +158 -55
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/spend_estimate.py +26 -18
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/utility_exposure.py +67 -14
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/event_store.py +38 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/particle_store.py +88 -5
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/wikidata_cache.py +9 -6
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/pyproject.toml +2 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/_client_fixtures.py +12 -0
- linkedparticles-1.187.3/tests/benchmark/escalation/prose-holdout-001.yaml +1229 -0
- linkedparticles-1.187.3/tests/fixtures/ledgerly/session-03.md +9 -0
- linkedparticles-1.187.3/tests/fixtures/ledgerly/session-09.md +7 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/reanchor/cases.json +94 -1
- linkedparticles-1.187.3/tests/fixtures/reanchor/trip_plans.json +193 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-04.md +7 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-11.md +7 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-12-moved.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-12.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-13.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-14.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-15.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-16.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/session-17.md +5 -0
- linkedparticles-1.187.3/tests/fixtures/trip_vs_move/window_questions.json +123 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/configuration_pairs.json +24 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/gate_pairs.json +53 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/gate_pairs_heldout.json +26 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/past_marker_heldout.json +25 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/past_value_pairs.json +24 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/stay_pairs.json +33 -0
- linkedparticles-1.187.3/tests/fixtures/update_probe/stay_pairs_heldout.json +20 -0
- linkedparticles-1.187.3/tests/test_agent_extraction_submit.py +328 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_api_client.py +6 -4
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_audit.py +228 -25
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_rot.py +11 -4
- linkedparticles-1.187.3/tests/test_claude_code_agent_asks.py +181 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_claude_code_hook.py +226 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_claude_code_init.py +42 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_audit.py +57 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_output.py +41 -0
- linkedparticles-1.187.3/tests/test_cli_subjects_fix_labels.py +45 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_config.py +36 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_conflict_plan.py +30 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_conflict_resolution.py +78 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_consolidation.py +140 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_consolidation_plan.py +60 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_store.py +163 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_curation.py +1 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_curation_rulings.py +28 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_daemon.py +3 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_decide_ladder.py +60 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_deposit_date.py +34 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_egress_chokepoint.py +59 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_extract.py +2 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_extractor_registry.py +3 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_generic_instance_pair.py +3 -1
- linkedparticles-1.187.3/tests/test_held_release.py +604 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_inbox.py +3 -3
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_ingest_authorities_wikidata.py +50 -5
- linkedparticles-1.187.3/tests/test_integration_ledgerly.py +184 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_links_suggest.py +106 -7
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_llm_circuit_breaker.py +21 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_llm_openai_compat.py +11 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_mcp_routing.py +3 -2
- linkedparticles-1.187.3/tests/test_no_egress.py +649 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_observer_gate.py +3 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_pair_selection.py +178 -2
- linkedparticles-1.187.3/tests/test_paraphrases.py +673 -0
- linkedparticles-1.187.3/tests/test_past_value.py +73 -0
- linkedparticles-1.187.3/tests/test_probe_budget.py +300 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_probe_verdicts.py +23 -3
- linkedparticles-1.187.3/tests/test_reanchor.py +1890 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_rule_sources.py +2 -1
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_second_reading.py +17 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_session_exposure.py +3 -2
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_subjects.py +20 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_update_supersession.py +856 -16
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_utility_exposure.py +213 -7
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wikidata_cache.py +12 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wikidata_extractor.py +112 -0
- linkedparticles-1.172.0/tests/test_reanchor.py +0 -763
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/LICENSE +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/NOTICE +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/README.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/env.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/script.py.mako +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/001_initial.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/002_subjects.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/003_wikidata_label_cache.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/004_source_trust.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/005_structured_properties.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/006_extractor_records.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/007_domain_hint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/008_content_published_at.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/009_provenance_chunk_hash.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/010_context_fingerprint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/011_particle_relations.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/012_taxonomies.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/013_extractor_calibration.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/014_corpus_follow_edges.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/015_synthesis_cache.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/016_snapshot_extraction_started_at.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/017_operator_events.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/018_contributor_refs.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/019_embedding_model_id.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/020_trust_lenses.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/021_registered_at_string.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/022_assertion_modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/023_url_mentions.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/024_corpus_document_supersession.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/025_per_provider_calibration.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/026_conformance_trust_cap.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/027_lens_decay_rules.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/028_utility_lens.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/029_retired_at.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/030_utility_rank_lift.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/031_content_norm_hash.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/032_utility_event_source.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/033_structured_claim.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/034_extraction_provider_model.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/035_prefix_extraction_properties_keys.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/036_curation_snapshots.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/037_rekey_reviewer_trust_statements.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/038_snapshot_superseded_by.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/039_observer_scope_statements.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/040_backfill_particle_tag_edges.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/041_snapshot_extraction_attempts.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/042_born_retired.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/043_snapshot_extracted_through.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/044_probe_verdicts.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/045_snapshot_extraction_components.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/046_probe_verdict_answer.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/047_snapshot_resume_whole.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/048_vocabulary_documents.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/049_modality_stamp.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic/versions/050_session_exposures.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/alembic.ini +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/conformance/similarity_vectors.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/graph/LICENSE.cytoscape.txt +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/graph/cytoscape.min.js +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/context.jsonld +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/interchange.schema.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/particle.schema.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/shacl/CorpusSnapshotShape.ttl +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/shacl/ParticleShape.ttl +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/shacl/ProvenanceChainShape.ttl +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/shacl/SubjectShape.ttl +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/shacl/TrustStatementShape.ttl +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/artifacts/schemas/trust_lens.schema.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/design/tokens.css +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/_orm_modules.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/_middleware.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/_rate_limit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/auth.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_id_norm.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_logging.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_memory_projection.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_output.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_projection_git.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_remote.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/_source_passage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/conformance.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/curate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/deposit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/engine.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/events.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/export.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/import_vault.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/interchange.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/mcp.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/project.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/quality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/query.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/skills.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/structure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/trust.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/cli/vocab.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/client/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/client/base.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/client/local.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/api/web_app.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/compare.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/leakage/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/leakage/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/leakage/render.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/leakage/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/leakage/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/loader.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/comparators.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/rejudge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/memory/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/modality/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/modality/loader.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/modality/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/modality/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/modality/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/observer/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/observer/generator.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/observer/oracle.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/observer/render.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/observer/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/polarity/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/polarity/loader.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/polarity/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/polarity/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/polarity/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/relevance_floor/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/relevance_floor/harvest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/relevance_floor/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/relevance_floor/render.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/relevance_floor/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/relevance_floor/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/resolution.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/generator.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/oracle.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/real_pairs.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/render.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/rescore.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/rot/scoring.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/validity/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/validity/loader.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/validity/metrics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/validity/runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/benchmark/validity/schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/blob_fsck.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/blob_health.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/fetch.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/follow_edges.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/refresh_outcome.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/rule_sources.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/corpus/supersession.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/db.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/anki.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/article_synthesis/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/graph/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/graph/_assets.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/graph/exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/graph/render.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/jsonl.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/logseq/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/logseq/exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/logseq/format.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/logseq/narrative.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/logseq/synthesis.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/logseq/vault.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/markdown.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/obsidian/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/obsidian/exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/obsidian/format.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/obsidian/narrative.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/obsidian/synthesis.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/obsidian/vault.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/registry.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/summaries.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/exporters/wiki.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/artifact_namespace.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/authorities/_shared.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/authorities/artifact.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/authorities/wikidata_judge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/candidate_dedup.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/duplicate_suppression.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/generation.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/github.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/hackernews.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/mastodon.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/nomisma.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/numista.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/reddit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/registry.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/importers/wikidata.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/observer_gate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/partial_read.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/pending_collapse.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/routing.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/second_reading.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/source_passage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/ingest/structure_edges.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/integrations/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/integrations/_mapping.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/integrations/langchain.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/interchange/store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/memory_compat/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/memory_compat/graph.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/memory_compat/ops.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/observer.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/resources.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/corpus.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/diagnostics.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/events.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/graph.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/links_suggest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/lint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/particles.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/query.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/subjects.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/mcp/tools/taxonomy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/observability/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/observability/spans.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/_llm.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/agent_write.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/candidate_pairs.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/cascade.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/closure_measure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/corpus_delete.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/corpus_refresh.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/cards.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/collect.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/leverage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/precision.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/rulings.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/session.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/curation/snapshot.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/deposit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/deposit_suggest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/digest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/entailment.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/extract.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/graph_view.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/assertion_quality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/citation_signal.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/contestedness.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/coverage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/retirement.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/lint/wikidata_links.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/llm_spend.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/narrative.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/narrative_synthesis.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/observer_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/probe_ledger.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/projection/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/projection/manifest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/projection/project.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/quality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/contested.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/contestedness.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/decay_policy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/effective_confidence.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/gaps.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/grounding.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/main.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/observer_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/owner_policy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/precedence.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/rank.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/respond.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/source_info.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/source_trust.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/stance.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/structural.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/utility_policy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/query/vocabulary_report.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/reindex.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/reindex_estimate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/reindex_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/retract.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/review.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/source_passage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/structure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/subject_relink.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/trust.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/utility_feedback.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/utility_mining.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/utility_sweep.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/version_guard.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/operations/vocabulary.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/cache.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/layer_a.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/layer_b.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/orchestrate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/render.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/render/article_synthesis/topic.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/skills/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/skills/asking-the-store.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/skills/keeping-it-clean.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/skills/recording-a-belief.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/sql_safety.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/curation_snapshot_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/extractor_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/lens_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/observer_scope_join.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/observer_scope_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/probe_verdict_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/relation_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/session_exposure_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/subject_cache.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/subject_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/synthesis_cache_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/taxonomy_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/trust_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/url_mention_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/utility_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/particles/store/vocabulary_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/_capped_http.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/_claude_projects.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/_observer_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/_upstream.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/_write_probe.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/abstraction/premise-scope-negative-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/calibration/numismatic-calibration-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/calibration/prose-calibration-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/calibration/rdf-calibration-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/memory/fixtures/NOTICE +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/memory/fixtures/longmemeval_oracle_synthetic.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/modality/journal-modality-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/polarity/adr-polarity-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/resolution/ordinary-prose-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/suites/hackernews-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/suites/numismatic-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/suites/prose-article-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/suites/rdf-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/suites/reddit-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/suites/wikidata-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/benchmark/validity/durability-seed-001.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/MANIFEST.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/hackernews-thread-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/hackernews-thread-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/hackernews-thread-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/journal-entry-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/journal-entry-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/journal-entry-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/mastodon-thread-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/mastodon-thread-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/mastodon-thread-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/mcp-memory-export-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/mcp-memory-export-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/mcp-memory-export-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/nomisma-concept-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/nomisma-concept-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/nomisma-concept-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-coin-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-coin-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-coin-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-issuer-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-issuer-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-issuer-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-listing-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-listing-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/numista-listing-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/rdf-graph-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/rdf-graph-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/rdf-graph-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/reddit-thread-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/reddit-thread-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/reddit-thread-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/taxonomy-coins-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/taxonomy-coins-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/taxonomy-coins-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/trust-lens-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/trust-lens-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/trust-lens-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-article-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-article-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-article-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-article-002/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-article-002/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-article-002/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-essay-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-essay-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-essay-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-interview-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-interview-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/web-interview-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/wikidata-entity-001/content.bin +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/wikidata-entity-001/manifest.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conformance/fixtures/wikidata-entity-001/snapshot.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/conftest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/dogfood/__init__.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/dogfood/corpus.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/dogfood/llm_responses.yaml +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/dogfood/record.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/.obsidian/app.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/1933 Double Eagle.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Coin Silver Standards.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Flowing Hair Dollar.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Grading and Condition.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Home.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Mint Records.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Morgan Dollar.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Most Expensive Coins.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Philadelphia Mint.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/Seated Liberty Dollar.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/US Mint History.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/_GROUND_TRUTH.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/_templates/Coin Note Template.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/llm_wiki_vault/inventory.csv +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/memory_dir/MEMORY.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/memory_dir/deploy-pipeline.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/memory_dir/orion-api.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/moved_city/session-04.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/moved_city/session-07.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/scope/normative-rule-file.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/scope/normative-rule-file.recorded.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/scope/rule-file-agents-md.md +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/fixtures/scope/rule-file-agents-md.recorded.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/mcp/memory-tool-schema.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/mcp/resource-schema.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/mcp/tool-schema.json +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_abstraction.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_abstraction_premise_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_account_level_failure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_agent_write_operator.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_anki.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_api_middleware.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_api_rate_limit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_app.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_append_base.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_append_delta.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_article_synthesis.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_artifact_authority.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_as_of.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_auth.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_compare.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_leakage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_memory.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_memory_comparators.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_observer.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_polarity.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_relevance_floor.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_resolution.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_runner.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_benchmark_validity.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_blob_fsck.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_blob_health.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_calibration.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_calibration_integration.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_calibration_version.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_candidate_dedup.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_candidate_pairs.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cascade.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cascade_gate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_claims.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_claude_code_binding.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_claude_code_project.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_benchmark_memory.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_curate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_extract.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_lint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_logging.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_memory.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_memory_rebuild_utility.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_memory_useful.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_particle_retract.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_particle_source.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_progress.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_query.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_reindex_estimate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_structure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_suggested_commands.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_cli_vocab.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_closure_measure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_co_evidential_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_co_evidential_merge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_co_evidential_query_collapse.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_component_stamp.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_conflict_review.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_conformance.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_conformance_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_conformance_profile.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_consolidation_cadence.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_contested_badge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_context_fingerprint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_context_schema_sync.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_contradiction_disclosure.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_contributor_ref.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_cat.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_delete.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_delete_operation.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_fetch.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_fsck_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_links_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_corpus_retract.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_curation_precision.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_curation_snapshot.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_db.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_decay.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_decay_policy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_deposit_follow.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_deposit_project_keys.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_deposit_routing.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_deposit_suggest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_deposit_versioned.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_docstrings.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_document_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_dogfood_corpus.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_dogfood_record.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_duplicate_suppression.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_embedding_model_marker.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_engine_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_equivalence.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_export_ownership.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_exporter_quality_threshold.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_exporters_registry.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_extraction_components.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_extraction_provider_model.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_extractor_ref.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_fingerprint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_generation_cascade.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_github_extractor.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_granularity.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_graph_exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_graph_layout.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_hackernews_extractor.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_http.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_id_norm.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_incremental.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_ingest_authorities_shared.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_abstraction_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_audit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_journal_modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_llm.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_memory_benchmark.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_moved_city.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_polarity.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_polarity_benchmark.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_rot_benchmark.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integration_validity_benchmark.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_integrations_langchain.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_interchange.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_journal.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_jsonl_exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_jsonld_context.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_layer_boundary.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_links_dedup.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_links_unmerge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint_callouts.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint_citation_signal.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint_contested.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint_contestedness.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint_granularity.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_lint_open_inconsistency.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_llm.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_llm_batch.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_llm_spend.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_logseq_exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_markdown.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_mastodon_extractor.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_mcp_links_suggest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_mcp_memory.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_mcp_server.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_mcp_write.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_memory_compat.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_memory_projection.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_memory_rescope_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_035_properties_keys.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_037_reviewer_statement_key.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_040_tag_edges.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_042_born_retired.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_043_extracted_through.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_045_extraction_components.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_047_resume_whole.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_migration_preview.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_modality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_narrative.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_narrative_cli.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_narrative_merge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_narrative_synthesis.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_no_derived_columns.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_nomisma.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_notion_exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_numista.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_observability.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_observer_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_observer_scope_surfaces.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_obsidian.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_openapi_snapshot.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_operations_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_operator_events.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_operator_verb_routing.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_owner_policy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_packaging.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_partial_read.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_particle_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_pending_collapse.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_plan_collapse.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_plan_unmerge_group.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_polarity.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_predicate_profile.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_project_import.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_projection.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_projection_git.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_projection_manifest.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_property_keys.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_provenance_append_only.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_quality.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query_contestedness.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query_gaps.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query_grounded.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query_negative_retrieval.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query_source_trust.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_query_stance.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_rdf.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_reconcile.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_reddit.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_refresh_outcome.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_reindex.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_reindex_append_only.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_reindex_estimate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_reindex_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_relation_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_relevance.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_resolver_alias_attach.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_retired_value_quarantine.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_review.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_routing.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_scope_exemption.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_session_state.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_skills.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_source_passage.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_spend_budget.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_spend_estimate.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_sql_safety.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_stance.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_store_adjacent_paths.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_store_engine.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_structural_query.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_structure_edges.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_structured_claim.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_subject_authority.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_subject_relink.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_subject_scope.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_subjects_split.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_synthesis_cache_integration.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_synthesis_cache_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_synthesis_topic.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_taxonomy_extractor.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_taxonomy_schema.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_taxonomy_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_transitions.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_trust_lens.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_url_mention_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_url_safety.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_utility.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_utility_feedback.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_utility_mining.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_utility_policy.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_utility_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_vault_import.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_version_guard.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_vocabulary.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_vocabulary_report.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_vocabulary_store.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_web_app.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_web_clipper_import.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wiki_exporter.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wikidata_candidate_selection.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wikidata_importer.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wikidata_judge.py +0 -0
- {linkedparticles-1.172.0 → linkedparticles-1.187.3}/tests/test_wikidata_link_confidence.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: linkedparticles
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.187.3
|
|
4
4
|
Summary: Auditable, provenance-tracked memory for AI agents — the Particles engine and its API, CLI, and MCP surfaces
|
|
5
5
|
Project-URL: Homepage, https://linkedparticles.org
|
|
6
6
|
Project-URL: Documentation, https://docs.linkedparticles.org
|
|
@@ -39,7 +39,7 @@ Requires-Dist: fastapi>=0.111
|
|
|
39
39
|
Requires-Dist: filelock>=3.13
|
|
40
40
|
Requires-Dist: greenlet>=3.5.0
|
|
41
41
|
Requires-Dist: jinja2>=3.1
|
|
42
|
-
Requires-Dist: linkedparticles-core==1.
|
|
42
|
+
Requires-Dist: linkedparticles-core==1.187.3
|
|
43
43
|
Requires-Dist: mcp<2,>=1.27.1
|
|
44
44
|
Requires-Dist: opentelemetry-api>=1.27
|
|
45
45
|
Requires-Dist: python-multipart>=0.0.9
|
|
@@ -65,11 +65,14 @@ its own types from them.
|
|
|
65
65
|
`assertion_modality` (the §1.7 truth-apt gate; truth-apt iff `FALSIFIABLE`)
|
|
66
66
|
and `uncertainty_nature` (the §1 `ALEATORY` exclusion) — plus the
|
|
67
67
|
caller-resolved inputs (the replacement signal, the two supersession
|
|
68
|
-
directions, both trust scores, the differential threshold,
|
|
69
|
-
store has a single trust order
|
|
68
|
+
directions, both trust scores, the differential threshold, whether the
|
|
69
|
+
store has a single trust order, and the rung 2.5 `update_order`). Omitted
|
|
70
|
+
keys take the documented defaults.
|
|
70
71
|
Because the family is about *ordering*, the vectors deliberately set up rungs
|
|
71
72
|
to compete: an `ALEATORY` pair with both a supersession edge and a decisive
|
|
72
|
-
trust gap must still come out `INCONSISTENT`.
|
|
73
|
+
trust gap must still come out `INCONSISTENT`. Rung 2.5 reads `ALEATORY` on
|
|
74
|
+
the newer claim only, the side the sign of `update_order` names:
|
|
75
|
+
the `cl-17` vectors pin all four arrangements.
|
|
73
76
|
- `context_fingerprint` carries `(id, status)` rows rather than a bare id list,
|
|
74
77
|
so all three steps are pinned: the ACTIVE-only filter (step 1), the
|
|
75
78
|
lexicographic sort (step 2 — one vector supplies its ids out of order), and
|
|
@@ -453,11 +453,41 @@ test_vectors:
|
|
|
453
453
|
trust_score_new: 0.20
|
|
454
454
|
update_order: 1
|
|
455
455
|
expected: SUPERSEDED_BY_EXISTING
|
|
456
|
-
#
|
|
456
|
+
# a settled report retires an earlier aleatory claim: rung 2.5
|
|
457
|
+
# reads ALEATORY on the newer claim only. Rungs 1.5 and 2 pick between
|
|
458
|
+
# sources and keep the exclusion on either side; a same-lineage update
|
|
459
|
+
# whose newer claim states the matter as settled is how aleatory
|
|
460
|
+
# uncertainty is resolved.
|
|
457
461
|
- id: cl-17
|
|
458
462
|
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
459
463
|
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
460
464
|
update_order: 1
|
|
465
|
+
expected: UPDATE_SUPERSEDES
|
|
466
|
+
# a newer ALEATORY claim (a forecast) never retires a settled one.
|
|
467
|
+
- id: cl-17b
|
|
468
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
469
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
470
|
+
update_order: 1
|
|
471
|
+
expected: INCONSISTENT
|
|
472
|
+
# two ALEATORY claims (a revised forecast, or a BOTH_VALID pair): nothing
|
|
473
|
+
# has been settled, so neither retires the other.
|
|
474
|
+
- id: cl-17c
|
|
475
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
476
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
477
|
+
update_order: 1
|
|
478
|
+
expected: INCONSISTENT
|
|
479
|
+
# "newer" follows the sign of update_order: an out-of-order ALEATORY new
|
|
480
|
+
# claim is the older one, and the settled existing claim retires it.
|
|
481
|
+
- id: cl-17d
|
|
482
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
483
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
484
|
+
update_order: -1
|
|
485
|
+
expected: UPDATE_SUPERSEDED_BY_EXISTING
|
|
486
|
+
# the -1 mirror of cl-17b: the newer side is the ALEATORY existing claim.
|
|
487
|
+
- id: cl-17e
|
|
488
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
489
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
490
|
+
update_order: -1
|
|
461
491
|
expected: INCONSISTENT
|
|
462
492
|
# the probe outranks 2.5: no contradiction, no supersession.
|
|
463
493
|
- id: cl-18
|
|
@@ -472,6 +502,48 @@ test_vectors:
|
|
|
472
502
|
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
473
503
|
update_order: 1
|
|
474
504
|
expected: CORROBORATES
|
|
505
|
+
# rung 2.5 rests on the same-slot check: with no contradiction
|
|
506
|
+
# signal, a settled same-slot update still resolves to the newer claim.
|
|
507
|
+
# Two claims giving one slot successive values can both be true at their
|
|
508
|
+
# own times, so the contradiction probe is not the test of an update.
|
|
509
|
+
- id: cl-20
|
|
510
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
511
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
512
|
+
has_contradiction_signal: false
|
|
513
|
+
update_order: 1
|
|
514
|
+
same_slot_update: true
|
|
515
|
+
expected: UPDATE_SUPERSEDES
|
|
516
|
+
# its mirror: an out-of-order (older) new claim is the one retired.
|
|
517
|
+
- id: cl-21
|
|
518
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
519
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
520
|
+
has_contradiction_signal: false
|
|
521
|
+
update_order: -1
|
|
522
|
+
same_slot_update: true
|
|
523
|
+
expected: UPDATE_SUPERSEDED_BY_EXISTING
|
|
524
|
+
# the ALEATORY condition reads the newer claim, as at rung 2.5.
|
|
525
|
+
- id: cl-22
|
|
526
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
527
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: ALEATORY }
|
|
528
|
+
has_contradiction_signal: false
|
|
529
|
+
update_order: 1
|
|
530
|
+
same_slot_update: true
|
|
531
|
+
expected: CORROBORATES
|
|
532
|
+
# the truth-apt gate outranks the update answer too.
|
|
533
|
+
- id: cl-23
|
|
534
|
+
existing: { assertion_modality: EVALUATIVE, uncertainty_nature: EPISTEMIC }
|
|
535
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
536
|
+
has_contradiction_signal: false
|
|
537
|
+
update_order: 1
|
|
538
|
+
same_slot_update: true
|
|
539
|
+
expected: CORROBORATES
|
|
540
|
+
# no lineage order, no update: the answer alone retires nothing.
|
|
541
|
+
- id: cl-24
|
|
542
|
+
existing: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
543
|
+
new: { assertion_modality: FALSIFIABLE, uncertainty_nature: EPISTEMIC }
|
|
544
|
+
has_contradiction_signal: false
|
|
545
|
+
same_slot_update: true
|
|
546
|
+
expected: CORROBORATES
|
|
475
547
|
|
|
476
548
|
# --- §16.1 context fingerprint -----------------------------------
|
|
477
549
|
# Procedure: (1) take every ACTIVE particle in the store, (2) sort the UUIDs
|
|
@@ -2785,6 +2785,17 @@
|
|
|
2785
2785
|
"title": "Semantic Skipped",
|
|
2786
2786
|
"type": "boolean"
|
|
2787
2787
|
},
|
|
2788
|
+
"semantic_skipped_reason": {
|
|
2789
|
+
"anyOf": [
|
|
2790
|
+
{
|
|
2791
|
+
"type": "string"
|
|
2792
|
+
},
|
|
2793
|
+
{
|
|
2794
|
+
"type": "null"
|
|
2795
|
+
}
|
|
2796
|
+
],
|
|
2797
|
+
"title": "Semantic Skipped Reason"
|
|
2798
|
+
},
|
|
2788
2799
|
"summary": {
|
|
2789
2800
|
"additionalProperties": {
|
|
2790
2801
|
"type": "integer"
|
|
@@ -3121,6 +3132,8 @@
|
|
|
3121
3132
|
"EXTRACT_RUN",
|
|
3122
3133
|
"INCONSISTENCY_CLOSED",
|
|
3123
3134
|
"DEPENDENT_CLAIM_EXAMINED",
|
|
3135
|
+
"UPDATE_SUPERSESSION",
|
|
3136
|
+
"HELD_CLAIM_EXAMINED",
|
|
3124
3137
|
"ABSTRACTION_CANDIDATE",
|
|
3125
3138
|
"ABSTRACTION_RESOLVED",
|
|
3126
3139
|
"DUPLICATES_MERGED",
|
|
@@ -3134,7 +3147,10 @@
|
|
|
3134
3147
|
"VOCABULARY_PROPOSED",
|
|
3135
3148
|
"VOCABULARY_RULED",
|
|
3136
3149
|
"MODALITY_RECLASSIFIED",
|
|
3137
|
-
"MODALITY_GRANT_QUEUED"
|
|
3150
|
+
"MODALITY_GRANT_QUEUED",
|
|
3151
|
+
"AGENT_EXTRACTION_ASKED",
|
|
3152
|
+
"AGENT_EXTRACTION_CONTINUED",
|
|
3153
|
+
"AGENT_EXTRACTION_SUBMITTED"
|
|
3138
3154
|
],
|
|
3139
3155
|
"title": "OperatorEventType",
|
|
3140
3156
|
"type": "string"
|
|
@@ -83,6 +83,30 @@ http: # [client]
|
|
|
83
83
|
# Reddit curl subprocess as --max-filesize. Default 100 MiB.
|
|
84
84
|
max_bytes: 104857600
|
|
85
85
|
|
|
86
|
+
# The no-egress posture. Running the LLM locally is not enough to
|
|
87
|
+
# keep data on the machine: subject resolution reaches Wikidata, URL deposits
|
|
88
|
+
# fetch, the encoder downloads from Hugging Face, and any hosted LLM purpose
|
|
89
|
+
# left configured calls out. This one switch governs all of them.
|
|
90
|
+
# open no check (the default; today's behaviour)
|
|
91
|
+
# none refuse every outbound connection and name lookup, loopback included
|
|
92
|
+
# allowlist refuse everything except the destinations listed in `allow`
|
|
93
|
+
# Local is never inferred: an endpoint counts as local only when it matches an
|
|
94
|
+
# entry. `localhost` and `127.0.0.1` are different entries, and a private
|
|
95
|
+
# address is not local unless listed. `particles config validate` and
|
|
96
|
+
# `particles hook doctor` report what the posture switches off.
|
|
97
|
+
network: # [client]
|
|
98
|
+
egress: open
|
|
99
|
+
# Each entry: `host` is an IP literal, a CIDR block, or an exact host name
|
|
100
|
+
# (no wildcards); `port` is optional (omitted means any port).
|
|
101
|
+
allow: []
|
|
102
|
+
# Example: a model server on this machine and one on the LAN.
|
|
103
|
+
# egress: allowlist
|
|
104
|
+
# allow:
|
|
105
|
+
# - host: localhost
|
|
106
|
+
# port: 11434
|
|
107
|
+
# - host: 192.168.1.20
|
|
108
|
+
# port: 8000
|
|
109
|
+
|
|
86
110
|
# FastAPI app limits (defense-in-depth for the HTTP surface).
|
|
87
111
|
api: # [engine]
|
|
88
112
|
# Cap on the accepted *inbound* request body, in bytes. Bodies larger than
|
|
@@ -311,6 +335,36 @@ claude_code: # [engine]
|
|
|
311
335
|
# current session (covers SIGKILL / crashes / an unreachable store at a
|
|
312
336
|
# prior session end). 0 disables the sweep.
|
|
313
337
|
catchup_limit: 5
|
|
338
|
+
# Agent-side extraction: a Stop hook asks the session's own agent
|
|
339
|
+
# to extract a span of its deposited transcript, through the
|
|
340
|
+
# `extraction_submit` MCP tool. The user's plan pays; no API key is needed
|
|
341
|
+
# for extraction. Defaults come from the 2026-10-09 offline replay and store
|
|
342
|
+
# query (docs/benchmarks/agent-extraction-defaults-2026-10-09.md).
|
|
343
|
+
agent_extraction:
|
|
344
|
+
# off | shadow | on. shadow asks and verifies but writes and marks
|
|
345
|
+
# nothing, logging what would have happened.
|
|
346
|
+
mode: "off"
|
|
347
|
+
# Ask when the distilled transcript has grown this much past what was
|
|
348
|
+
# extracted (replay: about 1.7 asks per active hour).
|
|
349
|
+
min_new_chars: 8000
|
|
350
|
+
# Seconds between asks in one session.
|
|
351
|
+
min_interval_seconds: 600
|
|
352
|
+
# Waive the interval while more than one span is owed and the last ask
|
|
353
|
+
# was answered with progress (its span is not owed again).
|
|
354
|
+
catch_up: true
|
|
355
|
+
# Asks per session where a background extractor can take the rest. A
|
|
356
|
+
# keyless install is never capped.
|
|
357
|
+
max_asks_per_session: 6
|
|
358
|
+
# Largest span one ask carries; its text rides in the ask.
|
|
359
|
+
max_span_chars: 40000
|
|
360
|
+
# An ask unanswered after this many seconds expires.
|
|
361
|
+
ask_ttl_seconds: 900
|
|
362
|
+
# A submission covers its span with at least this many accepted claims per
|
|
363
|
+
# 1000 characters (10th percentile of the general extractor's deltas).
|
|
364
|
+
min_claims_per_kchar: 2.7
|
|
365
|
+
# ...and at most this share of candidates dropped for missing evidence.
|
|
366
|
+
# Placeholder until the shadow week measures it.
|
|
367
|
+
max_evidence_drop_ratio: 0.5
|
|
314
368
|
|
|
315
369
|
# Agent-memory product surface — the MEMORY.md projection.
|
|
316
370
|
# Namespace shared with the claude_code hook integration above:
|
|
@@ -414,6 +468,8 @@ llm: # [client]
|
|
|
414
468
|
# base_url: https://api.openai.com/v1 # the adapter appends /chat/completions
|
|
415
469
|
# max_tokens_param: max_completion_tokens # reasoning models reject max_tokens
|
|
416
470
|
# send_temperature: false # …and non-default temperatures
|
|
471
|
+
# reasoning_effort: minimal # sent as-is when set; unset sends nothing.
|
|
472
|
+
# # "none" turns qwen3 thinking off on Ollama
|
|
417
473
|
# structured_output: strict # strict-dialect JSON schemas (see below)
|
|
418
474
|
# deepseek:
|
|
419
475
|
# base_url: https://api.deepseek.com/v1
|
|
@@ -1048,6 +1104,19 @@ reconciliation: # [engine]
|
|
|
1048
1104
|
subject_floor: 0.45
|
|
1049
1105
|
# Contradiction probes per extracted claim from this search, at most.
|
|
1050
1106
|
max_candidates: 3
|
|
1107
|
+
# Paraphrases pass: when an update retires a claim, the other
|
|
1108
|
+
# ACTIVE claims about the same subject at this cosine to the retired claim
|
|
1109
|
+
# or above are put to the update probe against the claim that replaced it,
|
|
1110
|
+
# and retired when both readings say the value changed.
|
|
1111
|
+
paraphrase_floor: 0.70
|
|
1112
|
+
# Candidates asked per retirement, highest cosine first. 0 turns the pass off.
|
|
1113
|
+
max_paraphrases: 3
|
|
1114
|
+
# an update is established by the update probe, read twice, not
|
|
1115
|
+
# by the contradiction probe, so a dated "moved to X" retires the old home.
|
|
1116
|
+
# A pair whose older claim records a past value ("until 2025", "used to")
|
|
1117
|
+
# still needs the contradiction probe too. false restores the pre-1.187.0
|
|
1118
|
+
# gate on every pair.
|
|
1119
|
+
same_slot_admits: true
|
|
1051
1120
|
|
|
1052
1121
|
# Content age decay — effective_confidence multiplier based on publication age..
|
|
1053
1122
|
# Omit a source type entirely to disable decay for it.
|
|
@@ -1332,8 +1401,10 @@ subjects: # [engine]
|
|
|
1332
1401
|
# docs/benchmarks/subject-resolution-judge-2026-10-01.md. With no LLM key or
|
|
1333
1402
|
# an unusable reply it takes the top hit; set top_hit for no model call at all.
|
|
1334
1403
|
wikidata_candidate_selection: llm_judge
|
|
1335
|
-
# Output budget of one llm_judge call.
|
|
1336
|
-
|
|
1404
|
+
# Output budget of one llm_judge call. The reply is one short JSON object;
|
|
1405
|
+
# the rest is room for a model that thinks by default, whose thinking spends
|
|
1406
|
+
# from this budget. Lowering it can leave such a model with no text.
|
|
1407
|
+
wikidata_judge_max_tokens: 4096
|
|
1337
1408
|
# How many search hits the llm_judge is shown (5 to 50). The ambiguity gate
|
|
1338
1409
|
# and the other selection values still read the first five, so which names
|
|
1339
1410
|
# reach the model is unchanged; the extra hits come with the same one search
|
|
@@ -1378,6 +1449,13 @@ subjects: # [engine]
|
|
|
1378
1449
|
# ("the owner", or a first name) adds them to persona_aliases, or merges
|
|
1379
1450
|
# the Subjects with `particles subjects merge`.
|
|
1380
1451
|
persona_source_tags: [memory-file]
|
|
1452
|
+
# speaker references a first-person claim may open on. A claim
|
|
1453
|
+
# from a persona source (not JOURNAL) that opens on one of these, or on
|
|
1454
|
+
# persona_canonical_name, gains the speaker as a subject when the extractor
|
|
1455
|
+
# left it out, and is also keyed on the speaker for update supersession.
|
|
1456
|
+
# An opener counts only when it is also in persona_aliases, so add a house
|
|
1457
|
+
# term ("the owner") to both lists. An empty list turns this off.
|
|
1458
|
+
persona_openers: [the user, the speaker]
|
|
1381
1459
|
# Source types that skip live-ontology authorities (Wikidata) during
|
|
1382
1460
|
# resolution. Chat-transcript harvests and personal journals name private
|
|
1383
1461
|
# referents by construction: ~none of the names resolve and the fruitless,
|
|
@@ -1937,51 +2015,60 @@ audit: # [engine]
|
|
|
1937
2015
|
max_contradiction_verifications: 25
|
|
1938
2016
|
# Output budget of one second reading. llm.verification defaults to a model
|
|
1939
2017
|
# that may think before it answers, and the thinking spends from this budget.
|
|
2018
|
+
# The update probe's second reading, before an update retires a claim, uses
|
|
2019
|
+
# this budget and the retry below as well.
|
|
1940
2020
|
verify_max_tokens: 1024
|
|
1941
2021
|
# A second reading cut at verify_max_tokens (or empty, the budget spent on
|
|
1942
2022
|
# thinking) is re-issued once at this larger budget; a reply still cut
|
|
1943
2023
|
# leaves its flag unverified. At or below verify_max_tokens disables it.
|
|
1944
2024
|
verify_retry_max_tokens: 4096
|
|
1945
2025
|
# Assumptions behind the dollar range and wall time the estimate prints
|
|
1946
|
-
# (priced from llm.price_per_mtok; each figure is disclosed with it).
|
|
1947
|
-
#
|
|
1948
|
-
#
|
|
1949
|
-
#
|
|
1950
|
-
#
|
|
1951
|
-
# probes, a 200-probe cap. It made 104 extraction calls averaging ~7,000
|
|
1952
|
-
# output tokens each (mostly thinking, so nearly flat in the source size),
|
|
1953
|
-
# retried 8 of the 96 first calls, made 374 semantic-lint calls (the 200
|
|
1954
|
-
# audit probes plus ~174 §6.6 probes during extraction), billed $7.97, and
|
|
1955
|
-
# took 96 minutes. The estimate before this re-basing printed $1.92-3.57.
|
|
2026
|
+
# (priced from llm.price_per_mtok; each figure is disclosed with it). Fitted
|
|
2027
|
+
# to two measured claude-sonnet-5 runs: 96 Claude Code memory files (~2.2k
|
|
2028
|
+
# characters each; 104 calls, $7.97, 96 minutes, 2026-09-25) and 6 active
|
|
2029
|
+
# ADRs (13-22k characters each; 11 chunked calls plus 2 retries, 317k output
|
|
2030
|
+
# tokens, about 7 claims per 1,000 characters, 2026-10-04).
|
|
1956
2031
|
#
|
|
1957
|
-
#
|
|
1958
|
-
#
|
|
1959
|
-
#
|
|
1960
|
-
#
|
|
1961
|
-
#
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
#
|
|
1965
|
-
#
|
|
1966
|
-
#
|
|
2032
|
+
# Output per extraction call is a fixed part plus a part proportional to the
|
|
2033
|
+
# characters the call reads: ~6,000 for a memory note, ~31,600 for a full
|
|
2034
|
+
# 15,000-character chunk of a dense design document. The estimate only
|
|
2035
|
+
# counts the files the run will extract: an unchanged file already
|
|
2036
|
+
# extracted is skipped and the skip is disclosed.
|
|
2037
|
+
estimate_output_tokens_per_call_base: 1600
|
|
2038
|
+
estimate_output_tokens_per_source_char: 2.0
|
|
2039
|
+
# Multiplies both figures for an extraction model that writes more or less
|
|
2040
|
+
# than claude-sonnet-5, keyed like llm.price_per_mtok. The 2026-09 provider
|
|
2041
|
+
# survey measured about 0.55 of sonnet's output on claude-haiku-4-5:
|
|
2042
|
+
# estimate_output_scale_by_model: {claude-haiku-4-5: 0.55}
|
|
2043
|
+
estimate_output_scale_by_model: {}
|
|
2044
|
+
# The expected range takes every call at (1 - spread) up to every call at
|
|
2045
|
+
# (1 + spread) of its figure. A call whose output passes
|
|
2046
|
+
# extraction.max_tokens at that end is billed that whole budget plus a retry
|
|
2047
|
+
# at extraction.retry_max_tokens, and one that passes the retry budget too
|
|
2048
|
+
# is disclosed as at risk of losing the claims past the cut. The ceiling is
|
|
2049
|
+
# every call at extraction.max_tokens plus the high end's retries at
|
|
1967
2050
|
# extraction.retry_max_tokens.
|
|
1968
2051
|
estimate_output_spread: 0.25
|
|
1969
|
-
# Fraction of extraction calls retried
|
|
1970
|
-
#
|
|
1971
|
-
#
|
|
2052
|
+
# Fraction of extraction calls retried for any reason (empty or unparseable
|
|
2053
|
+
# replies as well as cut ones), a floor under the length retries above: 8
|
|
2054
|
+
# of 96 in the memory run, at the old 16384 first budget, so a conservative
|
|
2055
|
+
# bound. Ignored when the retry is disabled.
|
|
1972
2056
|
estimate_extraction_retry_rate: 0.083
|
|
1973
2057
|
# §6.6 contradiction probes the extraction pipeline makes per extraction
|
|
1974
2058
|
# call, on top of the capped audit probes. Uncapped and density-dependent.
|
|
1975
2059
|
estimate_reconcile_probes_per_extraction_call: 1.8
|
|
1976
2060
|
# One contradiction probe: instruction + two claims in, a one-sentence reason
|
|
1977
|
-
# and a verdict line out (the
|
|
1978
|
-
#
|
|
2061
|
+
# and a verdict line out (the measured run, on a model that did not think,
|
|
2062
|
+
# averaged ~305 in, ~56 out). An expectation, not a bound: the probe's own
|
|
2063
|
+
# max_tokens leaves a thinking model room, and thinking is billed as output.
|
|
2064
|
+
# Raise it if a run's usage line shows probes averaging more.
|
|
1979
2065
|
estimate_probe_input_tokens: 350
|
|
1980
2066
|
estimate_probe_output_tokens: 250
|
|
1981
|
-
# Wall time
|
|
1982
|
-
# 1.5 s per probe reproduce the
|
|
2067
|
+
# Wall time; calls run one at a time. Extraction is timed by the output it
|
|
2068
|
+
# writes: 125 tokens a second and 1.5 s per probe reproduce the memory run's
|
|
2069
|
+
# 96 minutes and the 22 minutes one 49k-character ADR took (the totals are
|
|
1983
2070
|
# measured, the split between the two is assumed).
|
|
1984
|
-
|
|
2071
|
+
estimate_extraction_output_tokens_per_second: 125
|
|
1985
2072
|
estimate_seconds_per_probe: 1.5
|
|
1986
2073
|
# One second reading: instruction + two claims with their passages in, and
|
|
1987
2074
|
# the call's own budget (verify_max_tokens, 1024) out as a bound; the
|
|
@@ -2017,6 +2104,11 @@ consolidation: # [engine]
|
|
|
2017
2104
|
# Pass 1 per-run cap; a capped run discloses the remainder and the next run
|
|
2018
2105
|
# continues (level-triggered — the corpus is the state).
|
|
2019
2106
|
max_pending_entries: 20
|
|
2107
|
+
# Pass 1 priority class: entries carrying any of these tags
|
|
2108
|
+
# (rule files, Claude Code memory files) take the cap's slots first, so a
|
|
2109
|
+
# file edited during the day is extracted that night. The cap is unchanged;
|
|
2110
|
+
# transcripts fill what remains. [] restores plain longest-owed order.
|
|
2111
|
+
priority_tags: [rule-file, memory-file]
|
|
2020
2112
|
# Pass 1 pooled batching: run the capped set as concurrent
|
|
2021
2113
|
# per-snapshot tasks whose LLM requests merge into one Message
|
|
2022
2114
|
# Batches job at 50% price (batch mechanics reuse the llm.batch.* knobs;
|
|
@@ -2043,6 +2135,9 @@ consolidation: # [engine]
|
|
|
2043
2135
|
# spent on a pair the update rung can actually act on (the sweep pre-filters
|
|
2044
2136
|
# by lineage and date), so the budget goes further than the figure above.
|
|
2045
2137
|
max_update_probes: 100
|
|
2138
|
+
# Per-run cap on the paraphrases pass's update probes, first
|
|
2139
|
+
# readings only. A capped run resumes at the next retirement on the next run.
|
|
2140
|
+
max_paraphrase_probes: 30
|
|
2046
2141
|
# Cycle lock. The kernel holds consolidate.lock for the whole
|
|
2047
2142
|
# cycle: a live cycle is never reclaimed, and a crashed one frees it at once.
|
|
2048
2143
|
# Minutes after which a skipped caller warns on stderr that the holder may
|
|
@@ -2125,6 +2220,18 @@ consolidation: # [engine]
|
|
|
2125
2220
|
max_candidates_per_retirement: 8
|
|
2126
2221
|
# Second readings, and so writes, per run.
|
|
2127
2222
|
max_restatements_per_run: 20
|
|
2223
|
+
# Held-claim release: a newer claim held quarantined behind a
|
|
2224
|
+
# stored claim (a rung-3 record) is re-checked once an update, the re-anchor
|
|
2225
|
+
# pass or the document sweep retires that stored claim. It is released
|
|
2226
|
+
# (minted ACTIVE, the record closed) only when no ACTIVE claim still
|
|
2227
|
+
# contradicts it; otherwise nothing changes, and the record's curation card
|
|
2228
|
+
# names what blocks it. The pass never retires a claim.
|
|
2229
|
+
release:
|
|
2230
|
+
enabled: true
|
|
2231
|
+
# Records examined per run, oldest retirement first. Each costs one
|
|
2232
|
+
# contradiction probe and at most one second reading per pair (the nearest
|
|
2233
|
+
# claim plus up to reconciliation.update_supersession.max_candidates).
|
|
2234
|
+
max_records: 10
|
|
2128
2235
|
# Run-level batch-wait budget. llm.batch.max_wait_seconds bounds
|
|
2129
2236
|
# one Message Batches job; this bounds the total one run waits on all of
|
|
2130
2237
|
# them. Each batch waits at most the balance left; below the floor, the
|