remember 0.2.0__tar.gz → 0.17.0__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.
- remember-0.17.0/.agents/skills/eval-banana/SKILL.md +226 -0
- remember-0.17.0/.agents/skills/eval-banana/references/config.md +109 -0
- remember-0.17.0/.agents/skills/eval-banana/references/examples.md +170 -0
- remember-0.17.0/.agents/skills/eval-banana/references/yaml-schema.md +146 -0
- remember-0.17.0/.agents/skills/skill-creator/LICENSE.txt +202 -0
- remember-0.17.0/.agents/skills/skill-creator/SKILL.md +485 -0
- remember-0.17.0/.agents/skills/skill-creator/agents/analyzer.md +274 -0
- remember-0.17.0/.agents/skills/skill-creator/agents/comparator.md +202 -0
- remember-0.17.0/.agents/skills/skill-creator/agents/grader.md +223 -0
- remember-0.17.0/.agents/skills/skill-creator/assets/eval_review.html +146 -0
- remember-0.17.0/.agents/skills/skill-creator/eval-viewer/generate_review.py +471 -0
- remember-0.17.0/.agents/skills/skill-creator/eval-viewer/viewer.html +1325 -0
- remember-0.17.0/.agents/skills/skill-creator/references/schemas.md +430 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/aggregate_benchmark.py +401 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/generate_report.py +326 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/improve_description.py +247 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/package_skill.py +136 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/quick_validate.py +103 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/run_eval.py +310 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/run_loop.py +328 -0
- remember-0.17.0/.agents/skills/skill-creator/scripts/utils.py +47 -0
- remember-0.17.0/.dockerignore +15 -0
- remember-0.17.0/.env.example +126 -0
- remember-0.17.0/.eval-banana/config.toml +21 -0
- remember-0.17.0/.github/PULL_REQUEST_TEMPLATE.md +13 -0
- remember-0.17.0/.github/ci/check_test_inventory.py +79 -0
- remember-0.17.0/.github/ci/contract-smoke-paths.txt +8 -0
- remember-0.17.0/.github/ci/integration-paths.txt +65 -0
- remember-0.17.0/.github/ci/path-filters.yml +73 -0
- remember-0.17.0/.github/ci/postgres-evidence.jq +17 -0
- remember-0.17.0/.github/ci/start-postgres.sh +30 -0
- remember-0.17.0/.github/ci/unit-paths.txt +117 -0
- remember-0.17.0/.github/compose/upgrade-gate.yaml +7 -0
- remember-0.17.0/.github/workflows/ci-nightly.yml +108 -0
- remember-0.17.0/.github/workflows/ci.yml +445 -0
- remember-0.17.0/.github/workflows/cla.yml +50 -0
- remember-0.17.0/.github/workflows/compatibility-matrix.yml +156 -0
- remember-0.17.0/.github/workflows/docs-deploy.yml +84 -0
- remember-0.17.0/.github/workflows/release-prepare.yml +86 -0
- remember-0.17.0/.github/workflows/release.yml +513 -0
- remember-0.17.0/.gitignore +24 -0
- remember-0.17.0/.import_linter_cache/.gitignore +2 -0
- remember-0.17.0/.import_linter_cache/CACHEDIR.TAG +3 -0
- remember-0.17.0/.import_linter_cache/a648b11ef837d8c15b0babaed6ae538cbaea36cf.data.json +1 -0
- remember-0.17.0/.import_linter_cache/rememberstack.meta.json +1 -0
- remember-0.17.0/.importlinter +64 -0
- remember-0.17.0/.loopy_loop/prompting_guides/README.md +27 -0
- remember-0.17.0/.loopy_loop/prompting_guides/anthropic/claude-prompting-best-practices.md +110 -0
- remember-0.17.0/.loopy_loop/prompting_guides/openai/gpt-5.6-prompting-guidance.md +94 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/contract.yaml +51 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/preamble.txt +23 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/eval_reviewer/config.yaml +12 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/eval_reviewer/prompt.txt +78 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/eval_runner/config.yaml +12 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/eval_runner/prompt.txt +104 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/inner/config.yaml +8 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/inner/prompt.txt +71 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/outer/config.yaml +8 -0
- remember-0.17.0/.loopy_loop/workflow_sets/inner_outer_eval/workflows/outer/prompt.txt +125 -0
- remember-0.17.0/.loopy_loop/workflow_sets/pm_planner_dispatcher/contract.yaml +50 -0
- remember-0.17.0/.loopy_loop/workflow_sets/pm_planner_dispatcher/preamble.txt +23 -0
- remember-0.17.0/.loopy_loop/workflow_sets/pm_planner_dispatcher/workflows/dispatcher/config.yaml +8 -0
- remember-0.17.0/.loopy_loop/workflow_sets/pm_planner_dispatcher/workflows/dispatcher/prompt.txt +96 -0
- remember-0.17.0/.loopy_loop/workflow_sets/pm_planner_dispatcher/workflows/planner/config.yaml +9 -0
- remember-0.17.0/.loopy_loop/workflow_sets/pm_planner_dispatcher/workflows/planner/prompt.txt +138 -0
- remember-0.17.0/.team-harness/config.toml +8 -0
- remember-0.17.0/CLA.md +197 -0
- remember-0.17.0/CLAUDE.md +97 -0
- remember-0.17.0/CONTRIBUTING.md +55 -0
- remember-0.17.0/Dockerfile +59 -0
- remember-0.17.0/Dockerfile.postgres +93 -0
- remember-0.17.0/HANDOFF.md +299 -0
- remember-0.17.0/LICENSE +201 -0
- remember-0.17.0/Makefile +33 -0
- remember-0.17.0/PKG-INFO +245 -0
- remember-0.17.0/README.md +204 -0
- remember-0.17.0/RELEASING.md +123 -0
- remember-0.17.0/TRADEMARKS.md +54 -0
- remember-0.17.0/_claude_prompts/appendix.md +5 -0
- remember-0.17.0/_prompts/appendix.md +3 -0
- remember-0.17.0/alembic.ini +38 -0
- remember-0.17.0/benchmarks/__init__.py +1 -0
- remember-0.17.0/benchmarks/locomo/README.md +518 -0
- remember-0.17.0/benchmarks/locomo/__init__.py +1 -0
- remember-0.17.0/benchmarks/locomo/__main__.py +5 -0
- remember-0.17.0/benchmarks/locomo/ablation.py +1381 -0
- remember-0.17.0/benchmarks/locomo/cli.py +403 -0
- remember-0.17.0/benchmarks/locomo/dataset.py +425 -0
- remember-0.17.0/benchmarks/locomo/generate_manifests.py +103 -0
- remember-0.17.0/benchmarks/locomo/manifests/development.json +209 -0
- remember-0.17.0/benchmarks/locomo/manifests/publication.json +1549 -0
- remember-0.17.0/benchmarks/locomo/manifests/smoke.json +17 -0
- remember-0.17.0/benchmarks/locomo/model.py +531 -0
- remember-0.17.0/benchmarks/locomo/protocol.py +736 -0
- remember-0.17.0/benchmarks/locomo/retrieval.py +1086 -0
- remember-0.17.0/benchmarks/locomo/runner.py +2934 -0
- remember-0.17.0/benchmarks/locomo/sharding/README.md +319 -0
- remember-0.17.0/benchmarks/locomo/sharding/__init__.py +1 -0
- remember-0.17.0/benchmarks/locomo/sharding/collect_and_merge.sh +101 -0
- remember-0.17.0/benchmarks/locomo/sharding/make_shards.py +172 -0
- remember-0.17.0/benchmarks/locomo/sharding/run_shard.sh +629 -0
- remember-0.17.0/benchmarks/locomo/sharding/store_backup.py +1693 -0
- remember-0.17.0/benchmarks/locomo/tracing.py +381 -0
- remember-0.17.0/benchmarks/rs_harness_beam/__init__.py +8 -0
- remember-0.17.0/benchmarks/rs_harness_beam/__main__.py +8 -0
- remember-0.17.0/benchmarks/rs_harness_beam/answer_agent.py +774 -0
- remember-0.17.0/benchmarks/rs_harness_beam/cli.py +201 -0
- remember-0.17.0/benchmarks/rs_harness_beam/fixtures/PROVENANCE.md +8 -0
- remember-0.17.0/benchmarks/rs_harness_beam/fixtures/beam_smoke_100k_1/probing_questions.json +551 -0
- remember-0.17.0/benchmarks/rs_harness_beam/fixtures/unified_llm_judge_prompt.txt +69 -0
- remember-0.17.0/benchmarks/rs_harness_beam/official_score.py +534 -0
- remember-0.17.0/compose.yaml +292 -0
- remember-0.17.0/decisions.md +6093 -0
- remember-0.17.0/design/README.md +42 -0
- remember-0.17.0/design/benchmarks/README.md +24 -0
- remember-0.17.0/design/benchmarks/findings-2026-07-31.md +93 -0
- remember-0.17.0/design/benchmarks/next-steps.md +30 -0
- remember-0.17.0/design/benchmarks/review-pr193-risks.md +72 -0
- remember-0.17.0/design/benchmarks/runbook.md +161 -0
- remember-0.17.0/design/operations/README.md +10 -0
- remember-0.17.0/design/operations/openrouter-embedding-routing.md +96 -0
- remember-0.17.0/design/operations/p2-projection-hang-beam-smoke.md +93 -0
- remember-0.17.0/design/operations/pr-ci-fast-gate.md +74 -0
- remember-0.17.0/design/proposals/README.md +28 -0
- remember-0.17.0/design/proposals/grouped_fact_adjudication.md +42 -0
- remember-0.17.0/design/proposals/observation-adjudication-efficiency.md +400 -0
- remember-0.17.0/design/proposals/optional-exact-t0-accept.md +114 -0
- remember-0.17.0/design/proposals/pgvectorscale_default_index.md +57 -0
- remember-0.17.0/design/proposals/postgresql_p2_graph.md +80 -0
- remember-0.17.0/design/proposals/provider-health-routing.md +256 -0
- remember-0.17.0/design/reviews/IMPL_REVIEW_codex-sol_2026-08-06.md +187 -0
- remember-0.17.0/design/reviews/README.md +27 -0
- remember-0.17.0/design/reviews/REVIEW_agy_entity_identity_retrieval_plan_2026-08-26.md +427 -0
- remember-0.17.0/design/reviews/REVIEW_agy_entity_identity_retrieval_plan_r2_2026-08-26.md +314 -0
- remember-0.17.0/design/reviews/REVIEW_agy_locomo_codex_subscription_2026-09-07.md +90 -0
- remember-0.17.0/design/reviews/REVIEW_agy_optional_exact_t0_2026-08-26.md +140 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i1_extract_aliases_2026-08-26.md +108 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i1_extract_aliases_r2_2026-08-26.md +123 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i1_extract_aliases_r3_2026-08-26.md +212 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i2_type_cut_r1_2026-08-26.md +227 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i2_type_cut_r2_2026-08-26.md +123 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i2_type_cut_r3_2026-08-26.md +52 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i2_type_cut_r4_2026-08-26.md +54 -0
- remember-0.17.0/design/reviews/REVIEW_agy_wp_i3_global_er_eval_r3_2026-08-27.md +47 -0
- remember-0.17.0/design/reviews/REVIEW_claude-fable_2026-08-06.md +407 -0
- remember-0.17.0/design/reviews/REVIEW_claude-fable_beam_official_scorer_and_p2_hang_2026-08-07.md +334 -0
- remember-0.17.0/design/reviews/REVIEW_claude-fable_chunk_level_extract_design_2026-08-07.md +35 -0
- remember-0.17.0/design/reviews/REVIEW_claude-fable_pr_ci_fast_gate_2026-08-06.md +328 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_d91_pr1_bulk_metadata_2026-08-13.md +206 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_d91_pr1_bulk_metadata_r2_2026-08-13.md +184 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_d91_pr2_maintain_port_2026-08-13.md +256 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_d91_pr2_maintain_port_r3_2026-08-13.md +245 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_d93_ticker_writer_2026-08-14.md +320 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_2026-08-11.md +380 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r11_2026-08-11.md +179 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r3_2026-08-11.md +411 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r4_2026-08-11.md +309 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r5_2026-08-11.md +287 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r6_2026-08-11.md +286 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r7_2026-08-11.md +356 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_claim_level_normalize_fanout_impl_r8_2026-08-11.md +263 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_design_2026-08-12.md +408 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_design_r2_2026-08-12.md +285 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_design_r3_2026-08-12.md +282 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_design_r4_2026-08-12.md +224 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_impl_2026-08-12.md +432 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_impl_r3_2026-08-12.md +447 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_impl_r4_2026-08-12.md +391 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_impl_r5_2026-08-12.md +259 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_entity_obs_flush_fanout_impl_r6_2026-08-12.md +268 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_unknown_entity_type_gate_design_2026-08-10.md +549 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_unknown_entity_type_gate_impl_2026-08-10.md +388 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_unknown_entity_type_gate_impl_r2_2026-08-10.md +317 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_unknown_entity_type_gate_impl_r3_2026-08-10.md +292 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_e3_unknown_entity_type_gate_impl_r4_2026-08-10.md +237 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_p1_lance_maintenance_design_2026-08-13.md +624 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_p1_lance_maintenance_design_pr270_2026-08-13.md +236 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_p1_lance_maintenance_design_r2_2026-08-13.md +362 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_p1_lance_maintenance_design_r3_2026-08-13.md +185 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_p1_lance_maintenance_design_r4_2026-08-13.md +217 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_request_path_meter_export_design_2026-08-13.md +210 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_request_path_meter_export_design_r2_2026-08-13.md +153 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_request_path_meter_export_design_r3_2026-08-13.md +122 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_request_path_meter_export_design_r4_2026-08-13.md +191 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_request_path_meter_export_design_r6_2026-08-13.md +18 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_request_path_meter_export_design_r7_2026-08-13.md +28 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_wp_i2_type_cut_r3_2026-08-26.md +101 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_wp_i2_type_cut_r4_2026-08-26.md +80 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_wp_i3_global_er_eval_r1_2026-08-27.md +59 -0
- remember-0.17.0/design/reviews/REVIEW_claude-opus_wp_i3_global_er_eval_r3_2026-08-27.md +63 -0
- remember-0.17.0/design/reviews/REVIEW_claude_opus_d102_document_t0_design_2026-08-31.md +71 -0
- remember-0.17.0/design/reviews/REVIEW_claude_opus_d99_identity_implementation_2026-08-28.md +79 -0
- remember-0.17.0/design/reviews/REVIEW_claude_opus_d99_identity_uncertainty_2026-08-28.md +59 -0
- remember-0.17.0/design/reviews/REVIEW_claude_opus_d99_profile_lock_contention_2026-08-28.md +72 -0
- remember-0.17.0/design/reviews/REVIEW_claude_opus_d99_proposal_coalescing_2026-08-28.md +78 -0
- remember-0.17.0/design/reviews/REVIEW_claude_opus_d99_proposal_lock_followup_2026-08-28.md +67 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_2026-08-06.md +286 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_beam_official_scorer_and_p2_hang_2026-08-07.md +449 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_chunk_level_extract_design_2026-08-07.md +309 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_chunk_level_extract_impl_2026-08-07.md +246 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_context_operations_d87_2026-08-10.md +32 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_d91_pr1_bulk_metadata_2026-08-13.md +162 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_d91_pr1_bulk_metadata_r2_2026-08-13.md +158 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_d91_pr2_maintain_port_2026-08-13.md +277 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_d91_pr2_maintain_port_r2_2026-08-13.md +253 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_d91_pr2_maintain_port_r3_2026-08-13.md +182 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_d93_ticker_writer_2026-08-14.md +209 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_design_2026-08-10.md +454 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_2026-08-11.md +196 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r10_2026-08-11.md +199 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r11_2026-08-11.md +164 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r2_2026-08-11.md +207 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r3_2026-08-11.md +134 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r3b_2026-08-11.md +137 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r4_2026-08-11.md +159 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r5_2026-08-11.md +112 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r6_2026-08-11.md +161 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r7_2026-08-11.md +125 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r8_2026-08-11.md +212 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_claim_level_normalize_fanout_impl_r9_2026-08-11.md +213 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_design_2026-08-12.md +235 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_design_r2_2026-08-12.md +148 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_design_r3_2026-08-12.md +115 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_design_r4_2026-08-12.md +89 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_impl_2026-08-12.md +243 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_impl_r2_2026-08-12.md +178 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_impl_r3_2026-08-12.md +242 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_impl_r4_2026-08-12.md +140 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_impl_r5_2026-08-12.md +67 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_entity_obs_flush_fanout_impl_r6_2026-08-12.md +72 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_unknown_entity_type_gate_design_2026-08-10.md +352 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_unknown_entity_type_gate_impl_2026-08-10.md +193 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_unknown_entity_type_gate_impl_r2_2026-08-10.md +170 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_unknown_entity_type_gate_impl_r3_2026-08-10.md +129 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_e3_unknown_entity_type_gate_impl_r4_2026-08-10.md +75 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_entity_identity_retrieval_plan_2026-08-26.md +340 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_entity_identity_retrieval_plan_r2_2026-08-26.md +363 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_optional_exact_t0_2026-08-26.md +44 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_p1_lance_maintenance_design_2026-08-13.md +335 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_p1_lance_maintenance_design_pr270_2026-08-13.md +58 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_p1_lance_maintenance_design_r2_2026-08-13.md +166 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_p1_lance_maintenance_design_r3_2026-08-13.md +114 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_p1_lance_maintenance_design_r4_2026-08-13.md +84 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_pr_ci_fast_gate_2026-08-06.md +217 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_request_path_meter_export_design_2026-08-13.md +226 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_request_path_meter_export_design_r2_2026-08-13.md +62 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_request_path_meter_export_design_r3_2026-08-13.md +94 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_request_path_meter_export_design_r6_2026-08-13.md +14 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_request_path_meter_export_design_r7_2026-08-13.md +5 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_wp_i1_extract_aliases_2026-08-26.md +52 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_wp_i1_extract_aliases_r2_2026-08-26.md +34 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_wp_i1_extract_aliases_r3_2026-08-26.md +23 -0
- remember-0.17.0/design/reviews/REVIEW_codex-sol_wp_i2_type_cut_r1_2026-08-26.md +78 -0
- remember-0.17.0/design/reviews/REVIEW_grok_context_operations_d87_2026-08-10.md +30 -0
- remember-0.17.0/design/reviews/REVIEW_grok_e3_entity_obs_flush_fanout_design_r3_2026-08-12.md +171 -0
- remember-0.17.0/design/reviews/postgres19_live_graph_design_review_round1.md +38 -0
- remember-0.17.0/design/reviews/postgres19_live_graph_design_review_round2.md +57 -0
- remember-0.17.0/design/reviews/postgres19_live_graph_implementation_review_final.md +82 -0
- remember-0.17.0/design/reviews/postgres19_live_graph_implementation_review_round1.md +60 -0
- remember-0.17.0/design/reviews/postgres19_live_graph_implementation_review_round2.md +31 -0
- remember-0.17.0/docker/README.md +54 -0
- remember-0.17.0/docker/pg_textsearch-pg19.patch +202 -0
- remember-0.17.0/docs/development/quality-gate.md +23 -0
- remember-0.17.0/implementation_core_values.md +43 -0
- remember-0.17.0/loopy_loop_config.yaml +147 -0
- remember-0.17.0/loopy_loop_goal.txt +114 -0
- remember-0.17.0/loopy_loop_runbook.md +160 -0
- remember-0.17.0/open_questions_from_author.md +118 -0
- remember-0.17.0/openapi.json +5493 -0
- remember-0.17.0/packages/rememberstack/README.md +30 -0
- remember-0.17.0/packages/rememberstack/pyproject.toml +26 -0
- remember-0.17.0/packages/rememberstack/src/rememberstack/__init__.py +39 -0
- remember-0.17.0/packages/rememberstack/src/rememberstack/client.py +5 -0
- remember-0.17.0/packages/rememberstack/src/rememberstack/model/__init__.py +10 -0
- remember-0.17.0/packages/rememberstack/src/rememberstack/surfaces/__init__.py +6 -0
- remember-0.17.0/plan/README.md +43 -0
- remember-0.17.0/plan/analysis/adjacent_chunks_retrieval_analysis.md +71 -0
- remember-0.17.0/plan/analysis/agent_retrieval_surface_analysis.md +115 -0
- remember-0.17.0/plan/analysis/binary_match_biased_t4.md +137 -0
- remember-0.17.0/plan/analysis/chunk_level_extract_analysis.md +266 -0
- remember-0.17.0/plan/analysis/claimify_research/SYNTHESIS.md +462 -0
- remember-0.17.0/plan/analysis/claimify_research/external_agents/codex_decontext_grounding.md +196 -0
- remember-0.17.0/plan/analysis/claimify_research/external_agents/prompt_agy.txt +41 -0
- remember-0.17.0/plan/analysis/claimify_research/external_agents/prompt_codex.txt +48 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C1_claimify_method_spec.md +395 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C2_decontextualization_design_space.md +355 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C3_current_extractor_diagnosis.md +314 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C4_claim_level_selection.md +170 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C5_context_provisioning.md +344 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C6_grounding_without_quotes.md +293 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C7_comparative_systems.md +207 -0
- remember-0.17.0/plan/analysis/claimify_research/questions/C8_integration_and_codefix.md +534 -0
- remember-0.17.0/plan/analysis/claimify_research/repo_findings/claimify_impls.md +393 -0
- remember-0.17.0/plan/analysis/claimify_research/repo_findings/graphiti_letta.md +231 -0
- remember-0.17.0/plan/analysis/claimify_research/repo_findings/graphrag_lightrag_hipporag.md +307 -0
- remember-0.17.0/plan/analysis/claimify_research/repo_findings/mem0_cognee.md +81 -0
- remember-0.17.0/plan/analysis/claimify_research/verify/completeness.md +413 -0
- remember-0.17.0/plan/analysis/claimify_research/verify/facts.md +176 -0
- remember-0.17.0/plan/analysis/clean_temporal_facts_and_retrieval_flow_analysis.md +95 -0
- remember-0.17.0/plan/analysis/concepts.md +234 -0
- remember-0.17.0/plan/analysis/context_operation_model_analysis.md +255 -0
- remember-0.17.0/plan/analysis/cross_turn_conversational_anaphora_analysis.md +132 -0
- remember-0.17.0/plan/analysis/czech_slice_spike.md +33 -0
- remember-0.17.0/plan/analysis/d99_proposal_convergence_lock_convoy.md +140 -0
- remember-0.17.0/plan/analysis/design_review_2026_07.md +338 -0
- remember-0.17.0/plan/analysis/docs_domain_ownership_reconciliation.md +137 -0
- remember-0.17.0/plan/analysis/docs_visual_identity_alignment.md +118 -0
- remember-0.17.0/plan/analysis/document_local_t0_anchor.md +141 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/BINDING_REVIEW_SYNTHESIS.md +57 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/FULL_SCOPE_ARCHITECTURE.md +284 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/IMPL_READY.md +36 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/PROBLEM.md +93 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/README.md +18 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/REVIEW_SYNTHESIS.md +81 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/SYNTHESIS.md +242 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/PROMPT.md +52 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/PROMPT_REVIEW_BINDING.md +63 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/PROMPT_REVIEW_FULL_SCOPE.md +89 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/claude.md +759 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/codex.md +244 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/codex_binding.md +157 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/codex_impl_code.md +249 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/codex_impl_ready.md +49 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/codex_review.md +455 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/fable.md +511 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/fable_binding.md +285 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/fable_impl_code.md +436 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/external_agents/fable_impl_ready.md +129 -0
- remember-0.17.0/plan/analysis/e1_context_prefix_efficiency/internal_analysis.md +249 -0
- remember-0.17.0/plan/analysis/e3_claim_level_normalize_fanout_analysis.md +125 -0
- remember-0.17.0/plan/analysis/e3_entity_obs_flush_fanout_analysis.md +151 -0
- remember-0.17.0/plan/analysis/e3_unknown_entity_type_gate_analysis.md +121 -0
- remember-0.17.0/plan/analysis/entity_identity_and_retrieval_analysis.md +564 -0
- remember-0.17.0/plan/analysis/entity_registry.md +200 -0
- remember-0.17.0/plan/analysis/entity_resolution_uncertainty_and_convergence.md +186 -0
- remember-0.17.0/plan/analysis/entity_typing_research/SYNTHESIS.md +450 -0
- remember-0.17.0/plan/analysis/entity_typing_research/_workflow.js +93 -0
- remember-0.17.0/plan/analysis/entity_typing_research/external_agents/codex_arch.err +27 -0
- remember-0.17.0/plan/analysis/entity_typing_research/external_agents/codex_arch.md +344 -0
- remember-0.17.0/plan/analysis/entity_typing_research/external_agents/prompt_agy_landscape.txt +27 -0
- remember-0.17.0/plan/analysis/entity_typing_research/external_agents/prompt_codex_arch.txt +25 -0
- remember-0.17.0/plan/analysis/entity_typing_research/questions/TY1_when_where.md +237 -0
- remember-0.17.0/plan/analysis/entity_typing_research/questions/TY2_mention_vs_entity.md +232 -0
- remember-0.17.0/plan/analysis/entity_typing_research/questions/TY3_typing_cascade.md +306 -0
- remember-0.17.0/plan/analysis/entity_typing_research/questions/TY4_retyping_versioning_order.md +319 -0
- remember-0.17.0/plan/analysis/entity_typing_research/questions/TY5_ambiguity_subtype_dumping.md +285 -0
- remember-0.17.0/plan/analysis/entity_typing_research/repo_findings/graphiti_cognee.md +226 -0
- remember-0.17.0/plan/analysis/entity_typing_research/repo_findings/lightrag_graphrag_gliner.md +227 -0
- remember-0.17.0/plan/analysis/entity_typing_research/verify/completeness.md +250 -0
- remember-0.17.0/plan/analysis/entity_typing_research/verify/facts.md +92 -0
- remember-0.17.0/plan/analysis/evidence_lifecycle/SYNTHESIS.md +152 -0
- remember-0.17.0/plan/analysis/evidence_lifecycle/external_agents/codex.md +891 -0
- remember-0.17.0/plan/analysis/evidence_lifecycle/external_agents/codex_review_pr31.md +42 -0
- remember-0.17.0/plan/analysis/evidence_lifecycle/internal_analysis.md +310 -0
- remember-0.17.0/plan/analysis/evidence_lifecycle/stress_test_amendments.md +169 -0
- remember-0.17.0/plan/analysis/fact_adjudication_new_fact_references_20260915.md +144 -0
- remember-0.17.0/plan/analysis/fact_adjudication_output_format_20260915.md +103 -0
- remember-0.17.0/plan/analysis/fact_context_authority_performance.md +98 -0
- remember-0.17.0/plan/analysis/gemma_fallback_subsections_20260915.md +41 -0
- remember-0.17.0/plan/analysis/generic_identifier_guard_removal.md +247 -0
- remember-0.17.0/plan/analysis/ingest_file_type_inventory/README.md +17 -0
- remember-0.17.0/plan/analysis/ingest_file_type_inventory/SYNTHESIS.md +89 -0
- remember-0.17.0/plan/analysis/ingest_file_type_inventory/external_agents/agy.md +817 -0
- remember-0.17.0/plan/analysis/ingest_file_type_inventory/external_agents/codex.md +1686 -0
- remember-0.17.0/plan/analysis/ingest_file_type_inventory/grok.md +555 -0
- remember-0.17.0/plan/analysis/jev_adjudication_analysis.md +199 -0
- remember-0.17.0/plan/analysis/ladybug_capabilities.md +121 -0
- remember-0.17.0/plan/analysis/ladybug_query_semantics.md +180 -0
- remember-0.17.0/plan/analysis/ladybug_translation_research/SYNTHESIS.md +409 -0
- remember-0.17.0/plan/analysis/ladybug_translation_research/external_agents/antigravity.md +260 -0
- remember-0.17.0/plan/analysis/ladybug_translation_research/external_agents/codex.md +443 -0
- remember-0.17.0/plan/analysis/lean_mutable_fact_windows.md +207 -0
- remember-0.17.0/plan/analysis/lean_processing_contracts.md +97 -0
- remember-0.17.0/plan/analysis/locomo_benchmark_analysis.md +226 -0
- remember-0.17.0/plan/analysis/locomo_codex_subscription_bridge.md +163 -0
- remember-0.17.0/plan/analysis/locomo_conv42_recurring_event_adjudication.md +129 -0
- remember-0.17.0/plan/analysis/locomo_counterfactual_answer_analysis.md +76 -0
- remember-0.17.0/plan/analysis/locomo_current_surface_cutover.md +86 -0
- remember-0.17.0/plan/analysis/locomo_direct_answer_completeness_analysis.md +57 -0
- remember-0.17.0/plan/analysis/locomo_full_retrieval_agent.md +185 -0
- remember-0.17.0/plan/analysis/locomo_retrieval_access_ablations.md +182 -0
- remember-0.17.0/plan/analysis/locomo_v11_score_regression_analysis.md +667 -0
- remember-0.17.0/plan/analysis/locomo_worker_scaling_provenance.md +47 -0
- remember-0.17.0/plan/analysis/media_handling/BINDING_RECONCILIATION.md +29 -0
- remember-0.17.0/plan/analysis/media_handling/SYNTHESIS.md +139 -0
- remember-0.17.0/plan/analysis/media_handling/always_ocr_and_description.md +41 -0
- remember-0.17.0/plan/analysis/media_handling/external_agents/codex.md +745 -0
- remember-0.17.0/plan/analysis/media_handling/external_agents/codex_binding_review.md +74 -0
- remember-0.17.0/plan/analysis/media_handling/internal_analysis.md +198 -0
- remember-0.17.0/plan/analysis/multi_span_claim_extraction.md +82 -0
- remember-0.17.0/plan/analysis/mutable_fact_application_storage.md +338 -0
- remember-0.17.0/plan/analysis/mutable_fact_windows_watch_list.md +129 -0
- remember-0.17.0/plan/analysis/nonrelational_conflict_research/SYNTHESIS.md +198 -0
- remember-0.17.0/plan/analysis/nonrelational_conflict_research/external_agents/codex.md +729 -0
- remember-0.17.0/plan/analysis/nonrelational_conflict_research/internal_analysis.md +189 -0
- remember-0.17.0/plan/analysis/normalizer_nested_fields_20260915.md +158 -0
- remember-0.17.0/plan/analysis/normalizer_output_format_20260915.md +109 -0
- remember-0.17.0/plan/analysis/objections.md +206 -0
- remember-0.17.0/plan/analysis/observation_rank_embedding_cache.md +153 -0
- remember-0.17.0/plan/analysis/observation_temporal_applications.md +185 -0
- remember-0.17.0/plan/analysis/open_query_space_batch_b_corrections.md +63 -0
- remember-0.17.0/plan/analysis/open_query_space_batch_d_reconciliation.md +310 -0
- remember-0.17.0/plan/analysis/open_query_space_clean_cutover.md +147 -0
- remember-0.17.0/plan/analysis/open_query_space_codex.md +416 -0
- remember-0.17.0/plan/analysis/open_query_space_grok.md +759 -0
- remember-0.17.0/plan/analysis/openrouter_inference_capacity_20260916.md +86 -0
- remember-0.17.0/plan/analysis/openrouter_provider_routing_overload.md +108 -0
- remember-0.17.0/plan/analysis/p2_spike_battery.md +119 -0
- remember-0.17.0/plan/analysis/p3_agent_navigation.md +177 -0
- remember-0.17.0/plan/analysis/phase_8_benchmark_selection.md +261 -0
- remember-0.17.0/plan/analysis/phase_8_deep_research_prompt.md +160 -0
- remember-0.17.0/plan/analysis/pipeline_checkpointing.md +126 -0
- remember-0.17.0/plan/analysis/postgres19_sqlpgq_live_graph_analysis.md +574 -0
- remember-0.17.0/plan/analysis/postgres_p1_search_projection_analysis.md +294 -0
- remember-0.17.0/plan/analysis/postgresql_p2_graph_analysis.md +259 -0
- remember-0.17.0/plan/analysis/question_turn_claim_extraction_analysis.md +393 -0
- remember-0.17.0/plan/analysis/registry_research/SYNTHESIS.md +431 -0
- remember-0.17.0/plan/analysis/registry_research/_workflow.js +135 -0
- remember-0.17.0/plan/analysis/registry_research/external_agents/_FAILED_README.md +15 -0
- remember-0.17.0/plan/analysis/registry_research/external_agents/prompt_agy_R5.txt +20 -0
- remember-0.17.0/plan/analysis/registry_research/external_agents/prompt_agy_R8.txt +22 -0
- remember-0.17.0/plan/analysis/registry_research/external_agents/prompt_codex_R2.txt +26 -0
- remember-0.17.0/plan/analysis/registry_research/external_agents/prompt_codex_R6.txt +26 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R10_review_tooling.md +344 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R1_coref_necessity.md +117 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R2_er_cascade_numbers.md +373 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R3_multilingual_inflected.md +324 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R4_external_authorities.md +366 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R5_ontology_core_validation.md +300 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R6_constrained_extraction.md +145 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R7_golden_set_active_learning.md +271 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R8_incremental_clustering.md +314 -0
- remember-0.17.0/plan/analysis/registry_research/questions/R9_scale_math.md +302 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/cognee.md +292 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/coref.md +181 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/graphiti.md +221 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/letta_hipporag.md +331 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/lightrag_graphrag.md +287 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/mem0.md +306 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/splink_dedupe.md +286 -0
- remember-0.17.0/plan/analysis/registry_research/repo_findings/zingg.md +283 -0
- remember-0.17.0/plan/analysis/registry_research/verify/completeness.md +233 -0
- remember-0.17.0/plan/analysis/registry_research/verify/coref_clustering.md +96 -0
- remember-0.17.0/plan/analysis/registry_research/verify/external_facts.md +55 -0
- remember-0.17.0/plan/analysis/registry_research/verify/numbers.md +106 -0
- remember-0.17.0/plan/analysis/registry_research/verify/ontology_extraction.md +112 -0
- remember-0.17.0/plan/analysis/relation_fact_labels_in_p1.md +180 -0
- remember-0.17.0/plan/analysis/remember_release_identity_and_pypi_retirement.md +141 -0
- remember-0.17.0/plan/analysis/request_path_metering_and_cost_export_analysis.md +294 -0
- remember-0.17.0/plan/analysis/retrieval_default_path.md +185 -0
- remember-0.17.0/plan/analysis/retrieval_review/external_agents/codex.md +28 -0
- remember-0.17.0/plan/analysis/retrieval_scenarios.md +359 -0
- remember-0.17.0/plan/analysis/retrieval_spike_battery.md +79 -0
- remember-0.17.0/plan/analysis/reuse_hit_rate_spike.md +66 -0
- remember-0.17.0/plan/analysis/t4_output_format_20260915.md +117 -0
- remember-0.17.0/plan/analysis/temporal_autonomous_corrections.md +953 -0
- remember-0.17.0/plan/analysis/temporal_cache_and_forget.md +1294 -0
- remember-0.17.0/plan/analysis/temporal_contract_synthesis.md +233 -0
- remember-0.17.0/plan/analysis/temporal_relation_staging.md +1096 -0
- remember-0.17.0/plan/analysis/temporal_state_evidence_targets.md +105 -0
- remember-0.17.0/plan/analysis/temporal_undated_state_coexistence.md +86 -0
- remember-0.17.0/plan/analysis/time_handling_audit.md +375 -0
- remember-0.17.0/plan/analysis/unmerge_supersession_ripple_spike.md +64 -0
- remember-0.17.0/plan/analysis/unroutable_mime_parking.md +122 -0
- remember-0.17.0/plan/analysis/value_gate_research/SYNTHESIS.md +450 -0
- remember-0.17.0/plan/analysis/value_gate_research/_workflow.js +95 -0
- remember-0.17.0/plan/analysis/value_gate_research/external_agents/agy_V3_lazy_extraction.md +466 -0
- remember-0.17.0/plan/analysis/value_gate_research/external_agents/codex_V2.err +26 -0
- remember-0.17.0/plan/analysis/value_gate_research/external_agents/codex_V2_gating.md +101 -0
- remember-0.17.0/plan/analysis/value_gate_research/external_agents/prompt_agy_V3.txt +19 -0
- remember-0.17.0/plan/analysis/value_gate_research/external_agents/prompt_codex_V2.txt +24 -0
- remember-0.17.0/plan/analysis/value_gate_research/questions/V1_junk_rate_evidence.md +245 -0
- remember-0.17.0/plan/analysis/value_gate_research/questions/V2_gating_signals_mechanisms.md +293 -0
- remember-0.17.0/plan/analysis/value_gate_research/questions/V3_lazy_deferred_extraction.md +360 -0
- remember-0.17.0/plan/analysis/value_gate_research/questions/V4_how_systems_gate.md +224 -0
- remember-0.17.0/plan/analysis/value_gate_research/questions/V5_recall_safeguards.md +285 -0
- remember-0.17.0/plan/analysis/value_gate_research/questions/V6_pipeline_integration.md +429 -0
- remember-0.17.0/plan/analysis/value_gate_research/repo_findings/graphrag_lightrag_hipporag.md +164 -0
- remember-0.17.0/plan/analysis/value_gate_research/repo_findings/mem0_cognee.md +166 -0
- remember-0.17.0/plan/analysis/value_gate_research/verify/completeness.md +89 -0
- remember-0.17.0/plan/analysis/value_gate_research/verify/facts.md +90 -0
- remember-0.17.0/plan/analysis/vertex_processing_limits_20260914.md +28 -0
- remember-0.17.0/plan/analysis/vertex_streamed_completion_20260915.md +152 -0
- remember-0.17.0/plan/analysis/workers.md +472 -0
- remember-0.17.0/plan/analysis/workspacebench_benchmark_analysis.md +226 -0
- remember-0.17.0/plan/analysis/workspacebench_smoke_subset_analysis.md +272 -0
- remember-0.17.0/plan/analysis/wp_i3_i4_resolution_eval_gate_2026-08-27.md +85 -0
- remember-0.17.0/plan/designs/adjacent_chunks_retrieval_design.md +112 -0
- remember-0.17.0/plan/designs/agent_retrieval_surface_design.md +304 -0
- remember-0.17.0/plan/designs/chunk_level_extract_design.md +252 -0
- remember-0.17.0/plan/designs/clean_temporal_facts_and_retrieval_flow_design.md +147 -0
- remember-0.17.0/plan/designs/concise_adjudication_inputs_design.md +99 -0
- remember-0.17.0/plan/designs/contextual_fact_nomination_design.md +143 -0
- remember-0.17.0/plan/designs/cross_turn_conversational_anaphora_extraction_design.md +158 -0
- remember-0.17.0/plan/designs/docs_site_design.md +142 -0
- remember-0.17.0/plan/designs/document_inventory_design.md +128 -0
- remember-0.17.0/plan/designs/document_reference_context_design.md +160 -0
- remember-0.17.0/plan/designs/e0_files_design.md +765 -0
- remember-0.17.0/plan/designs/e1_chunks_design.md +419 -0
- remember-0.17.0/plan/designs/e1_embedding_input_policy.md +450 -0
- remember-0.17.0/plan/designs/e2_e3_claims_relations_design.md +415 -0
- remember-0.17.0/plan/designs/e3_claim_level_normalize_fanout_design.md +353 -0
- remember-0.17.0/plan/designs/e3_entity_obs_flush_fanout_design.md +342 -0
- remember-0.17.0/plan/designs/e3_unknown_entity_type_gate_design.md +224 -0
- remember-0.17.0/plan/designs/entity_identity_and_retrieval_design.md +914 -0
- remember-0.17.0/plan/designs/evidence_lifecycle_design.md +463 -0
- remember-0.17.0/plan/designs/hard_forget_design.md +314 -0
- remember-0.17.0/plan/designs/ingest_principal_design.md +199 -0
- remember-0.17.0/plan/designs/jev_adjudication_design.md +410 -0
- remember-0.17.0/plan/designs/k_layers_design.md +828 -0
- remember-0.17.0/plan/designs/locomo_benchmark_design.md +1298 -0
- remember-0.17.0/plan/designs/locomo_retrieval_ablation_design.md +291 -0
- remember-0.17.0/plan/designs/media_design.md +616 -0
- remember-0.17.0/plan/designs/multi_span_claim_extraction_design.md +205 -0
- remember-0.17.0/plan/designs/mutable_fact_application_contract.md +303 -0
- remember-0.17.0/plan/designs/mutable_fact_application_schema.sql +133 -0
- remember-0.17.0/plan/designs/mutable_fact_windows_design.md +375 -0
- remember-0.17.0/plan/designs/observation_rank_embedding_cache_design.md +195 -0
- remember-0.17.0/plan/designs/observation_temporal_application_design.md +293 -0
- remember-0.17.0/plan/designs/observation_temporal_application_schema.sql +228 -0
- remember-0.17.0/plan/designs/observations_design.md +417 -0
- remember-0.17.0/plan/designs/open_query_space_design.md +1682 -0
- remember-0.17.0/plan/designs/openrouter_provider_rotation_design.md +126 -0
- remember-0.17.0/plan/designs/orchestration_design.md +272 -0
- remember-0.17.0/plan/designs/overall_design.md +276 -0
- remember-0.17.0/plan/designs/p2_graph_design.md +762 -0
- remember-0.17.0/plan/designs/packaging_distribution_design.md +310 -0
- remember-0.17.0/plan/designs/pipeline_checkpointing_design.md +188 -0
- remember-0.17.0/plan/designs/postgres_p1_search_projection_design.md +377 -0
- remember-0.17.0/plan/designs/postgres_schema_design.md +2774 -0
- remember-0.17.0/plan/designs/processing_prompt_clarity_design.md +208 -0
- remember-0.17.0/plan/designs/registries_design.md +933 -0
- remember-0.17.0/plan/designs/request_path_metering_and_cost_export_design.md +952 -0
- remember-0.17.0/plan/designs/retrieval_design.md +705 -0
- remember-0.17.0/plan/designs/temporal_clocks_design.md +693 -0
- remember-0.17.0/plan/designs/temporal_write_and_lifecycle_design.md +807 -0
- remember-0.17.0/plan/designs/temporal_write_and_lifecycle_schema.sql +880 -0
- remember-0.17.0/plan/designs/unified_documentation_and_query_space_design.md +210 -0
- remember-0.17.0/plan/designs/unified_remember_distribution_design.md +269 -0
- remember-0.17.0/plan/handoffs/2026-08-26-d95-d97-entity-identity.md +562 -0
- remember-0.17.0/plan/handoffs/2026-09-14-d119-grok-implementation.md +109 -0
- remember-0.17.0/plan/handoffs/2026-09-14-d120-d121-grok.md +68 -0
- remember-0.17.0/plan/handoffs/2026-09-14-d122-d123-grok.md +67 -0
- remember-0.17.0/plan/implementation_evals/README.md +128 -0
- remember-0.17.0/plan/implementation_evals/codex_review.md +238 -0
- remember-0.17.0/plan/implementation_evals/codex_review_2.md +366 -0
- remember-0.17.0/plan/implementation_evals/d119_agy_review_3cdf8746.md +122 -0
- remember-0.17.0/plan/implementation_evals/d119_cursor_review_3cdf8746.md +75 -0
- remember-0.17.0/plan/implementation_evals/d119_implementation_20260914.md +81 -0
- remember-0.17.0/plan/implementation_evals/d120_d121_agy_review_5273eee8.md +183 -0
- remember-0.17.0/plan/implementation_evals/d120_d121_agy_review_b575c556.md +194 -0
- remember-0.17.0/plan/implementation_evals/d120_d121_agy_review_d84af5a4.md +263 -0
- remember-0.17.0/plan/implementation_evals/d120_d121_agy_review_ecedaabe.md +166 -0
- remember-0.17.0/plan/implementation_evals/d120_d121_implementation_20260914.md +295 -0
- remember-0.17.0/plan/implementation_evals/d122_d123_agy_review_2c547937.md +183 -0
- remember-0.17.0/plan/implementation_evals/d122_d123_agy_review_e7553a1a.md +263 -0
- remember-0.17.0/plan/implementation_evals/d122_d123_document_reference_context_20260914.md +252 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/boundary_correctness_in_library_d60.yaml +35 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/boundary_extension_points_no_bypass_d60.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/boundary_no_human_control_plane_d60.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/boundary_provider_ports_d61.yaml +36 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/code_architecture_enforced_d62.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/code_config_via_pydantic_settings.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/code_exceptions_never_buried.yaml +46 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/code_tooling_and_migrations.yaml +27 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/delivery_artifacts_and_task_shells_d62.yaml +41 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/delivery_docs_site.yaml +41 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_blockizer_owns_identity.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_content_addressed_reuse.yaml +38 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_converter_router_versioned.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_lineage_version_schema.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_living_mode_retraction.yaml +34 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_origin_stamped_at_ingest.yaml +28 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_postgres_holds_no_bodies.yaml +29 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_raw_immutable_id_addressed.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_structure_contract_unconditional.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e0_subworker_chain_crossrefs_d36.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e1_chunks_whole_blocks_no_overlap.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e1_multigranularity_retrieval.yaml +29 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_asserted_validity_immutable.yaml +34 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_claims_immutable_append_only.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_context_bundle_two_calls.yaml +35 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_grounding_layered_dual_field.yaml +38 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_no_pre_extraction_gate.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_selection_ledger_replay.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_selection_recall_envelope.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_stance_kept_as_observation.yaml +35 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e2_testimony_currency_counting.yaml +41 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e3_blocking_cheap_first_cascade.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e3_observations_untyped_adjudicated.yaml +40 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e3_predicate_registry_governed.yaml +38 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e3_relations_evidence_collapse.yaml +34 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/e3_supersession_fact_level_bitemporal.yaml +37 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/embedding_model_port_config_d63.yaml +34 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/er_continuous_health_metrics.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/er_merges_reversible.yaml +36 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/er_resolution_cascade_t0_t4.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/er_review_queue_cli.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/eval_golden_sets_d22.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_citations_binding.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_compiled_vs_authored_ownership.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_eval_canaries_faithfulness.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_hard_forget_git_history.yaml +36 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_one_mechanism_n_scopes.yaml +38 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_planner_writer_driver.yaml +38 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_trigger_surface_acyclic.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/k_writer_runtime_two_band.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/media_converter_routes_bound.yaml +57 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/media_derivation_disclosure.yaml +54 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/media_lifecycle_representation_basis.yaml +53 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/media_p1_media_segments.yaml +49 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/media_source_locators.yaml +56 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_deletion_cascade_grains.yaml +50 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_execution_classes_bound.yaml +39 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_idempotency_dlq.yaml +36 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_metering_budgets_enforced.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_operational_correctness_surfaces.yaml +36 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_orchestration_topology.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_producer_checker_families.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ops_versioned_replay_from_storage.yaml +28 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/p2_asof_and_communities.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/p2_no_vectors_in_graph.yaml +28 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/p2_projection_contract_views.yaml +38 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/p2_rebuild_first_snapshots.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/p3_corpus_fs_projection.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/p_projections_hold_no_authority.yaml +32 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/registry_scale_partitioning_d23.yaml +39 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_claims_never_answer_now.yaml +31 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_envelope_contradiction_completeness.yaml +28 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_envelope_freshness_stamps.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_envelope_grain_discipline.yaml +29 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_envelope_negative_taxonomy.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_envelope_truncation_markers.yaml +27 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_filesystem_first_mounts_skill.yaml +34 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_hydration_reverifies.yaml +34 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_primitives_recipes_registry.yaml +35 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_skill_s58_acceptance.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/ret_trust_boundary_no_content_auth.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/scope_views_share_graph_d16.yaml +33 -0
- remember-0.17.0/plan/implementation_evals/eval_checks/source_of_truth_split_d1_d46.yaml +30 -0
- remember-0.17.0/plan/implementation_evals/mutable_fact_windows_implementation_20260907.md +164 -0
- remember-0.17.0/plan/implementation_evals/temporal_extraction_t4_smoke_20260906.json +311 -0
- remember-0.17.0/plan/implementation_evals/temporal_extraction_t4_smoke_20260906.md +34 -0
- remember-0.17.0/plan/implementation_evals/temporal_extraction_t4_smoke_20260911.json +568 -0
- remember-0.17.0/plan/implementation_evals/temporal_extraction_t4_smoke_20260911.md +47 -0
- remember-0.17.0/plan/implementation_evals/temporal_simplification_review_20260907.md +80 -0
- remember-0.17.0/plan/implementation_notes/agent_retrieval_surface_batch_b.md +77 -0
- remember-0.17.0/plan/implementation_notes/agent_retrieval_surface_batch_c.md +75 -0
- remember-0.17.0/plan/implementation_notes/agent_retrieval_surface_batch_d.md +85 -0
- remember-0.17.0/plan/implementation_notes/agent_retrieval_surface_batch_e.md +87 -0
- remember-0.17.0/plan/implementation_notes/open_query_space_batch_a.md +593 -0
- remember-0.17.0/plan/implementation_notes/open_query_space_batch_b.md +70 -0
- remember-0.17.0/plan/implementation_notes/open_query_space_batch_c.md +231 -0
- remember-0.17.0/plan/implementation_notes/open_query_space_batch_d.md +274 -0
- remember-0.17.0/plan/implementation_notes/open_query_space_batch_e.md +199 -0
- remember-0.17.0/plan/implementation_notes/open_query_space_batch_f.md +212 -0
- remember-0.17.0/plan/plans/.gitkeep +0 -0
- remember-0.17.0/plan/plans/entity_identity_and_retrieval.md +114 -0
- remember-0.17.0/plan/plans/lean_processing_delivery.md +64 -0
- remember-0.17.0/plan/plans/phase-0-foundations.md +148 -0
- remember-0.17.0/plan/plans/phase-1-walking-skeleton.md +31 -0
- remember-0.17.0/plan/plans/phase-2-truth-machinery.md +30 -0
- remember-0.17.0/plan/plans/phase-3-evidence-lifecycle.md +29 -0
- remember-0.17.0/plan/plans/phase-4-projections.md +35 -0
- remember-0.17.0/plan/plans/phase-5-retrieval-complete.md +19 -0
- remember-0.17.0/plan/plans/phase-6-plane-k.md +19 -0
- remember-0.17.0/plan/plans/phase-7-scale-ops.md +213 -0
- remember-0.17.0/plan/plans/phase-8-benchmarks.md +90 -0
- remember-0.17.0/plan/plans/postgres19_sqlpgq_live_graph.md +259 -0
- remember-0.17.0/plan/plans/request_path_metering_and_cost_export.md +17 -0
- remember-0.17.0/plan/plans/roadmap.md +188 -0
- remember-0.17.0/plan/plans/temporal_clocks.md +135 -0
- remember-0.17.0/plan/proposals/current_only_generated_summaries.md +37 -0
- remember-0.17.0/plan/proposals/generic_temporal_application_store.md +34 -0
- remember-0.17.0/plan/proposals/temporal_identity_uncertainty_attempts.md +28 -0
- remember-0.17.0/plan/proposals/temporal_overlap_permission.md +20 -0
- remember-0.17.0/plan/requirements/requirements_v3.md +257 -0
- remember-0.17.0/pyproject.toml +174 -0
- remember-0.17.0/questions.md +243 -0
- remember-0.17.0/scripts/check_docs_truth.py +110 -0
- remember-0.17.0/scripts/check_github_release.py +46 -0
- remember-0.17.0/scripts/check_pypi_release.py +83 -0
- remember-0.17.0/scripts/check_release_contract.py +215 -0
- remember-0.17.0/scripts/check_unreleased_changes.py +41 -0
- remember-0.17.0/scripts/export_openapi.py +197 -0
- remember-0.17.0/scripts/prepare_next_release.py +79 -0
- remember-0.17.0/scripts/probe_temporal_extraction.py +227 -0
- remember-0.17.0/skills-lock.json +18 -0
- remember-0.17.0/src/remember/__init__.py +81 -0
- remember-0.17.0/src/remember/__main__.py +10 -0
- remember-0.17.0/src/remember/cli.py +2646 -0
- remember-0.17.0/src/remember/client.py +1438 -0
- remember-0.17.0/src/remember/credentials.py +967 -0
- remember-0.17.0/src/remember/device_login.py +525 -0
- {remember-0.2.0 → remember-0.17.0}/src/remember/errors.py +29 -0
- remember-0.17.0/src/remember/mcp_memory_tools.py +1498 -0
- remember-0.17.0/src/remember/models.py +814 -0
- remember-0.17.0/src/remember/py.typed +0 -0
- remember-0.17.0/src/remember/query_sandbox/__init__.py +1 -0
- remember-0.17.0/src/remember/query_sandbox/errors.py +60 -0
- remember-0.17.0/src/remember/query_sandbox/mcp_tools.py +527 -0
- remember-0.17.0/src/remember/query_sandbox/result.py +138 -0
- remember-0.17.0/src/remember/remote_mcp.py +343 -0
- remember-0.17.0/src/remember/setup.py +830 -0
- remember-0.17.0/src/rememberstack/__init__.py +12 -0
- remember-0.17.0/src/rememberstack/adapters/__init__.py +134 -0
- remember-0.17.0/src/rememberstack/adapters/bounded_postgres_read.py +95 -0
- remember-0.17.0/src/rememberstack/adapters/codex_subscription.py +474 -0
- remember-0.17.0/src/rememberstack/adapters/codex_writer.py +221 -0
- remember-0.17.0/src/rememberstack/adapters/converters/__init__.py +79 -0
- remember-0.17.0/src/rememberstack/adapters/converters/image_ocr_description.py +1092 -0
- remember-0.17.0/src/rememberstack/adapters/converters/markitdown.py +68 -0
- remember-0.17.0/src/rememberstack/adapters/converters/mistral_ocr.py +579 -0
- remember-0.17.0/src/rememberstack/adapters/generation_recorder.py +309 -0
- remember-0.17.0/src/rememberstack/adapters/managed/__init__.py +0 -0
- remember-0.17.0/src/rememberstack/adapters/managed/composite_auth.py +56 -0
- remember-0.17.0/src/rememberstack/adapters/managed/signed_token_auth.py +353 -0
- remember-0.17.0/src/rememberstack/adapters/openrouter.py +1339 -0
- remember-0.17.0/src/rememberstack/adapters/postgres_p1.py +1577 -0
- remember-0.17.0/src/rememberstack/adapters/routed.py +47 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/__init__.py +49 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/control_plane_spend_lease.py +114 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/forget.py +66 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/git.py +380 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/hashed_bearer_auth.py +82 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/managed_metering.py +82 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/minio.py +286 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/mounts.py +262 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/object_store.py +130 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/projection.py +73 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/queue.py +137 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/telemetry.py +81 -0
- remember-0.17.0/src/rememberstack/adapters/selfhost/watcher.py +70 -0
- remember-0.17.0/src/rememberstack/adapters/sentry.py +174 -0
- remember-0.17.0/src/rememberstack/adapters/testing/__init__.py +17 -0
- remember-0.17.0/src/rememberstack/adapters/testing/cost_meter.py +18 -0
- remember-0.17.0/src/rememberstack/adapters/testing/model_provider.py +90 -0
- remember-0.17.0/src/rememberstack/adapters/testing/profile_refresher.py +51 -0
- remember-0.17.0/src/rememberstack/adapters/testing/queue.py +43 -0
- remember-0.17.0/src/rememberstack/adapters/testing/telemetry.py +22 -0
- remember-0.17.0/src/rememberstack/adapters/typesafe.py +160 -0
- remember-0.17.0/src/rememberstack/adapters/vertex.py +810 -0
- remember-0.17.0/src/rememberstack/client.py +29 -0
- remember-0.17.0/src/rememberstack/core/__init__.py +189 -0
- remember-0.17.0/src/rememberstack/core/assured_operation_linter.py +105 -0
- remember-0.17.0/src/rememberstack/core/blockizer.py +255 -0
- remember-0.17.0/src/rememberstack/core/chunker.py +226 -0
- remember-0.17.0/src/rememberstack/core/concise_adjudication.py +649 -0
- remember-0.17.0/src/rememberstack/core/consumption_skill.py +357 -0
- remember-0.17.0/src/rememberstack/core/context_references.py +32 -0
- remember-0.17.0/src/rememberstack/core/conversion.py +200 -0
- remember-0.17.0/src/rememberstack/core/core_manifest.py +448 -0
- remember-0.17.0/src/rememberstack/core/embedding_input_policy.py +373 -0
- remember-0.17.0/src/rememberstack/core/entity_profile_input.py +16 -0
- remember-0.17.0/src/rememberstack/core/extension_packs.py +94 -0
- remember-0.17.0/src/rememberstack/core/fact_application.py +82 -0
- remember-0.17.0/src/rememberstack/core/fact_label.py +30 -0
- remember-0.17.0/src/rememberstack/core/fact_windows.py +148 -0
- remember-0.17.0/src/rememberstack/core/forget.py +17 -0
- remember-0.17.0/src/rememberstack/core/knowledge_authored.py +273 -0
- remember-0.17.0/src/rememberstack/core/knowledge_compile.py +215 -0
- remember-0.17.0/src/rememberstack/core/knowledge_fact_sheet.py +229 -0
- remember-0.17.0/src/rememberstack/core/knowledge_hashing.py +68 -0
- remember-0.17.0/src/rememberstack/core/knowledge_planner.py +62 -0
- remember-0.17.0/src/rememberstack/core/knowledge_writer.py +175 -0
- remember-0.17.0/src/rememberstack/core/open_query_prose.py +298 -0
- remember-0.17.0/src/rememberstack/core/ranking.py +200 -0
- remember-0.17.0/src/rememberstack/core/section_snap.py +209 -0
- remember-0.17.0/src/rememberstack/core/selection_references.py +372 -0
- remember-0.17.0/src/rememberstack/core/source_passages.py +394 -0
- remember-0.17.0/src/rememberstack/core/storage_routing.py +27 -0
- remember-0.17.0/src/rememberstack/core/structure_skeleton.py +667 -0
- remember-0.17.0/src/rememberstack/core/temporal.py +162 -0
- remember-0.17.0/src/rememberstack/core/text_metering.py +102 -0
- remember-0.17.0/src/rememberstack/eval/__init__.py +156 -0
- remember-0.17.0/src/rememberstack/eval/consumption.py +141 -0
- remember-0.17.0/src/rememberstack/eval/contradiction.py +184 -0
- remember-0.17.0/src/rememberstack/eval/harness.py +136 -0
- remember-0.17.0/src/rememberstack/eval/lifecycle.py +400 -0
- remember-0.17.0/src/rememberstack/eval/operational_scale.py +49 -0
- remember-0.17.0/src/rememberstack/eval/resolution.py +404 -0
- remember-0.17.0/src/rememberstack/eval/retrieval_spikes.py +50 -0
- remember-0.17.0/src/rememberstack/eval/skeleton.py +236 -0
- remember-0.17.0/src/rememberstack/llm/__init__.py +1 -0
- remember-0.17.0/src/rememberstack/model/__init__.py +751 -0
- remember-0.17.0/src/rememberstack/model/adjudication.py +100 -0
- remember-0.17.0/src/rememberstack/model/assured_operations.py +164 -0
- remember-0.17.0/src/rememberstack/model/auth.py +122 -0
- remember-0.17.0/src/rememberstack/model/blocks.py +48 -0
- remember-0.17.0/src/rememberstack/model/chunks.py +256 -0
- remember-0.17.0/src/rememberstack/model/claims.py +366 -0
- remember-0.17.0/src/rememberstack/model/client.py +48 -0
- remember-0.17.0/src/rememberstack/model/clustering.py +60 -0
- remember-0.17.0/src/rememberstack/model/component_version.py +124 -0
- remember-0.17.0/src/rememberstack/model/concise_adjudication.py +142 -0
- remember-0.17.0/src/rememberstack/model/consumption.py +88 -0
- remember-0.17.0/src/rememberstack/model/conversion.py +397 -0
- remember-0.17.0/src/rememberstack/model/deployment.py +53 -0
- remember-0.17.0/src/rememberstack/model/documents.py +190 -0
- remember-0.17.0/src/rememberstack/model/envelope.py +639 -0
- remember-0.17.0/src/rememberstack/model/evaluation.py +72 -0
- remember-0.17.0/src/rememberstack/model/fact_application.py +127 -0
- remember-0.17.0/src/rememberstack/model/fact_windows.py +120 -0
- remember-0.17.0/src/rememberstack/model/forget.py +143 -0
- remember-0.17.0/src/rememberstack/model/git.py +13 -0
- remember-0.17.0/src/rememberstack/model/knowledge.py +824 -0
- remember-0.17.0/src/rememberstack/model/knowledge_authored.py +322 -0
- remember-0.17.0/src/rememberstack/model/knowledge_planner.py +430 -0
- remember-0.17.0/src/rememberstack/model/lifecycle.py +42 -0
- remember-0.17.0/src/rememberstack/model/metering.py +164 -0
- remember-0.17.0/src/rememberstack/model/model_provider.py +98 -0
- remember-0.17.0/src/rememberstack/model/mounts.py +24 -0
- remember-0.17.0/src/rememberstack/model/object_store.py +21 -0
- remember-0.17.0/src/rememberstack/model/occurrence_provenance.py +447 -0
- remember-0.17.0/src/rememberstack/model/operational_scale.py +59 -0
- remember-0.17.0/src/rememberstack/model/operations.py +153 -0
- remember-0.17.0/src/rememberstack/model/processing.py +241 -0
- remember-0.17.0/src/rememberstack/model/queue.py +71 -0
- remember-0.17.0/src/rememberstack/model/relations.py +102 -0
- remember-0.17.0/src/rememberstack/model/resolution.py +81 -0
- remember-0.17.0/src/rememberstack/model/retrieval_spikes.py +61 -0
- remember-0.17.0/src/rememberstack/model/sections.py +331 -0
- remember-0.17.0/src/rememberstack/model/spend_lease.py +15 -0
- remember-0.17.0/src/rememberstack/model/telemetry.py +30 -0
- remember-0.17.0/src/rememberstack/ports/__init__.py +33 -0
- remember-0.17.0/src/rememberstack/ports/auth.py +16 -0
- remember-0.17.0/src/rememberstack/ports/connector.py +23 -0
- remember-0.17.0/src/rememberstack/ports/cost_meter.py +26 -0
- remember-0.17.0/src/rememberstack/ports/forget.py +20 -0
- remember-0.17.0/src/rememberstack/ports/git.py +20 -0
- remember-0.17.0/src/rememberstack/ports/metering.py +21 -0
- remember-0.17.0/src/rememberstack/ports/model_provider.py +28 -0
- remember-0.17.0/src/rememberstack/ports/mounts.py +16 -0
- remember-0.17.0/src/rememberstack/ports/object_store.py +27 -0
- remember-0.17.0/src/rememberstack/ports/p1_index.py +294 -0
- remember-0.17.0/src/rememberstack/ports/postgres_read.py +20 -0
- remember-0.17.0/src/rememberstack/ports/profile_refresher.py +48 -0
- remember-0.17.0/src/rememberstack/ports/purge.py +64 -0
- remember-0.17.0/src/rememberstack/ports/queue.py +23 -0
- remember-0.17.0/src/rememberstack/ports/systemone.py +24 -0
- remember-0.17.0/src/rememberstack/ports/telemetry.py +21 -0
- remember-0.17.0/src/rememberstack/profiles/__init__.py +22 -0
- remember-0.17.0/src/rememberstack/profiles/selfhost.py +1653 -0
- remember-0.17.0/src/rememberstack/profiles/selfhost_forget.py +181 -0
- remember-0.17.0/src/rememberstack/profiles/selfhost_operations.py +93 -0
- remember-0.17.0/src/rememberstack/py.typed +1 -0
- remember-0.17.0/src/rememberstack/spine/__init__.py +111 -0
- remember-0.17.0/src/rememberstack/spine/admission.py +26 -0
- remember-0.17.0/src/rememberstack/spine/apply_fact_decision.py +488 -0
- remember-0.17.0/src/rememberstack/spine/assured_operations.py +409 -0
- remember-0.17.0/src/rememberstack/spine/backfill.py +125 -0
- remember-0.17.0/src/rememberstack/spine/catalog_contract.py +892 -0
- remember-0.17.0/src/rememberstack/spine/chunk_catalog.py +401 -0
- remember-0.17.0/src/rememberstack/spine/claim_catalog.py +591 -0
- remember-0.17.0/src/rememberstack/spine/clustering.py +1225 -0
- remember-0.17.0/src/rememberstack/spine/component_versions.py +208 -0
- remember-0.17.0/src/rememberstack/spine/consumption.py +81 -0
- remember-0.17.0/src/rememberstack/spine/cost_export.py +488 -0
- remember-0.17.0/src/rememberstack/spine/deployment_bootstrap.py +378 -0
- remember-0.17.0/src/rememberstack/spine/document_bindings.py +331 -0
- remember-0.17.0/src/rememberstack/spine/document_catalog.py +1000 -0
- remember-0.17.0/src/rememberstack/spine/document_inventory.py +214 -0
- remember-0.17.0/src/rememberstack/spine/entity_eligibility.py +61 -0
- remember-0.17.0/src/rememberstack/spine/entity_registry.py +200 -0
- remember-0.17.0/src/rememberstack/spine/extension_packs.py +183 -0
- remember-0.17.0/src/rememberstack/spine/fact_adjudication.py +836 -0
- remember-0.17.0/src/rememberstack/spine/fact_application_inputs.py +526 -0
- remember-0.17.0/src/rememberstack/spine/fact_applications.py +570 -0
- remember-0.17.0/src/rememberstack/spine/fact_catalog.py +728 -0
- remember-0.17.0/src/rememberstack/spine/fact_graph_contract.py +83 -0
- remember-0.17.0/src/rememberstack/spine/forget.py +2013 -0
- remember-0.17.0/src/rememberstack/spine/graph_catalog.py +774 -0
- remember-0.17.0/src/rememberstack/spine/knowledge.py +5413 -0
- remember-0.17.0/src/rememberstack/spine/lifecycle.py +1181 -0
- remember-0.17.0/src/rememberstack/spine/managed_metering.py +731 -0
- remember-0.17.0/src/rememberstack/spine/migrations/__init__.py +1 -0
- remember-0.17.0/src/rememberstack/spine/migrations/_helpers.py +212 -0
- remember-0.17.0/src/rememberstack/spine/migrations/env.py +58 -0
- remember-0.17.0/src/rememberstack/spine/migrations/script.py.mako +27 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/__init__.py +1 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p0_02_0001_extensions_enums.py +195 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p0_02_0002_infrastructure_registries.py +321 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p0_02_0003_entities_evaluation_e0_e1.py +630 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p0_02_0004_claims_facts_evidence.py +403 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p0_02_0005_projection_knowledge_retrieval.py +403 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p0_02_0006_partitions_views.py +156 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p1_03_0018_claimify_loss_ledger.py +32 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p1_04_0019_d79_structure_generations.py +225 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p2_06_0007_invalidated_outcome.py +26 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p3_01_0008_document_version_target.py +58 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p3_05_0009_reconcile_stage.py +27 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p3_07_0010_lifecycle_eval_suite.py +25 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p4_01_0011_survivor_view_rewrite.py +57 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p5_07_0020_retrieval_batch_b_indexes.py +29 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p6_02_0012_knowledge_compile_recovery.py +58 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p6_04_0013_knowledge_writer_ledger.py +46 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p6_05_0014_knowledge_planner_runtime.py +217 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p6_06_0015_authored_dispatch_runtime.py +38 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p7_02_0016_operational_eval_suite.py +19 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p7_05_0017_hard_forget.py +55 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p8_01_0021_d80_embedding_input.py +53 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p8_01_0022_d80_packaging_fields.py +36 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_01_0022_memory_v1_query_space.py +1564 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_02_0023_query_space_roles.py +197 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_03_0024_facts_as_of.py +157 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_04_0025_coordinate_binding.py +933 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_05_0026_graph_helpers.py +677 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_06_0027_saved_query_registry.py +221 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_07_0028_chunk_extract_indexes.py +38 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_08_0029_normalize_claim_fanout.py +66 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_09_0030_fact_authority_performance.py +293 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_10_0031_entity_obs_flush_fanout.py +108 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_11_0032_surface_cost_ledger.py +151 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_13_0034_postgres_p1_search.py +164 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_14_0035_drop_entity_type.py +445 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_15_0036_global_resolution_eval.py +99 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_16_0037_entity_profile_projection.py +99 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_17_0038_postgres19_live_graph.py +1357 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_18_0039_graph_entity_provenance_plan.py +97 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_19_0040_graph_tenant_planner_settings.py +46 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_20_0041_resolution_uncertainty.py +101 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_21_0042_ingest_principal.py +139 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_22_0043_document_entity_bindings.py +134 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_23_0044_drop_generic_identifier_guard.py +135 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_24_0045_managed_text_metering.py +134 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_25_0046_document_inventory_order.py +49 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_26_0047_canonical_bounds.py +89 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_27_0048_query_space_canonical_bounds.py +279 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_28_0049_context_operation_names.py +206 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_29_0050_no_route_defer_reason.py +109 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_30_0051_mutable_fact_windows.py +432 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_31_0052_multi_span_claim_evidence.py +160 -0
- remember-0.17.0/src/rememberstack/spine/migrations/versions/p9_32_0053_source_reference_context.py +82 -0
- remember-0.17.0/src/rememberstack/spine/observation_adjudication.py +321 -0
- remember-0.17.0/src/rememberstack/spine/operations.py +298 -0
- remember-0.17.0/src/rememberstack/spine/postgres_graph_sql.py +168 -0
- remember-0.17.0/src/rememberstack/spine/profile_convergence.py +90 -0
- remember-0.17.0/src/rememberstack/spine/profile_refresher.py +1072 -0
- remember-0.17.0/src/rememberstack/spine/projection.py +424 -0
- remember-0.17.0/src/rememberstack/spine/query_space/__init__.py +85 -0
- remember-0.17.0/src/rememberstack/spine/query_space/ast_golden_vectors.json +1694 -0
- remember-0.17.0/src/rememberstack/spine/query_space/ast_serializer.py +104 -0
- remember-0.17.0/src/rememberstack/spine/query_space/canonical.py +165 -0
- remember-0.17.0/src/rememberstack/spine/query_space/catalog.py +1541 -0
- remember-0.17.0/src/rememberstack/spine/query_space/d48_deletion_matrix.json +2418 -0
- remember-0.17.0/src/rememberstack/spine/query_space/deletion_matrix.py +570 -0
- remember-0.17.0/src/rememberstack/spine/query_space/manifest.py +1018 -0
- remember-0.17.0/src/rememberstack/spine/query_space/memory_v1_manifest.json +41547 -0
- remember-0.17.0/src/rememberstack/spine/query_space/quarantine.py +332 -0
- remember-0.17.0/src/rememberstack/spine/query_space/source_definitions.py +246 -0
- remember-0.17.0/src/rememberstack/spine/rank_embed_cache.py +200 -0
- remember-0.17.0/src/rememberstack/spine/readiness.py +743 -0
- remember-0.17.0/src/rememberstack/spine/resolver.py +1441 -0
- remember-0.17.0/src/rememberstack/spine/review.py +865 -0
- remember-0.17.0/src/rememberstack/spine/selection_catalog.py +239 -0
- remember-0.17.0/src/rememberstack/spine/settings.py +22 -0
- remember-0.17.0/src/rememberstack/spine/supersession.py +58 -0
- remember-0.17.0/src/rememberstack/spine/surface_cost.py +283 -0
- remember-0.17.0/src/rememberstack/spine/sync.py +128 -0
- remember-0.17.0/src/rememberstack/spine/work_ledger.py +2072 -0
- remember-0.17.0/src/rememberstack/surfaces/__init__.py +125 -0
- remember-0.17.0/src/rememberstack/surfaces/cli.py +52 -0
- remember-0.17.0/src/rememberstack/surfaces/consumption_skill.py +89 -0
- remember-0.17.0/src/rememberstack/surfaces/cost_export_api.py +202 -0
- remember-0.17.0/src/rememberstack/surfaces/credentials.py +13 -0
- remember-0.17.0/src/rememberstack/surfaces/device_login.py +16 -0
- remember-0.17.0/src/rememberstack/surfaces/graph_queries.py +1033 -0
- remember-0.17.0/src/rememberstack/surfaces/http_api.py +1543 -0
- remember-0.17.0/src/rememberstack/surfaces/mcp.py +204 -0
- remember-0.17.0/src/rememberstack/surfaces/mcp_memory_tools.py +26 -0
- remember-0.17.0/src/rememberstack/surfaces/operation_executor.py +118 -0
- remember-0.17.0/src/rememberstack/surfaces/operation_surface.py +246 -0
- remember-0.17.0/src/rememberstack/surfaces/query_engine.py +4974 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/__init__.py +66 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/audit.py +217 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/bridge.py +906 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/discovery.py +249 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/errors.py +12 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/examples.py +469 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/executor.py +968 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/grammar.py +1471 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/limits.py +123 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/mcp_tools.py +522 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/nomination.py +825 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/open_query.py +214 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/result.py +138 -0
- remember-0.17.0/src/rememberstack/surfaces/query_sandbox/saved_queries.py +2308 -0
- remember-0.17.0/src/rememberstack/surfaces/remote_mcp.py +12 -0
- remember-0.17.0/src/rememberstack/surfaces/route_scope.py +140 -0
- remember-0.17.0/src/rememberstack/surfaces/sdk.py +25 -0
- remember-0.17.0/src/rememberstack/surfaces/setup.py +27 -0
- remember-0.17.0/src/rememberstack/workers/__init__.py +163 -0
- remember-0.17.0/src/rememberstack/workers/base.py +509 -0
- remember-0.17.0/src/rememberstack/workers/e0.py +1741 -0
- remember-0.17.0/src/rememberstack/workers/e0_summary.py +979 -0
- remember-0.17.0/src/rememberstack/workers/e1.py +710 -0
- remember-0.17.0/src/rememberstack/workers/e2.py +2039 -0
- remember-0.17.0/src/rememberstack/workers/e3.py +693 -0
- remember-0.17.0/src/rememberstack/workers/extraction_references.py +251 -0
- remember-0.17.0/src/rememberstack/workers/forget.py +312 -0
- remember-0.17.0/src/rememberstack/workers/knowledge_authored.py +146 -0
- remember-0.17.0/src/rememberstack/workers/knowledge_driver.py +735 -0
- remember-0.17.0/src/rememberstack/workers/knowledge_fact_sheet.py +123 -0
- remember-0.17.0/src/rememberstack/workers/knowledge_planner.py +325 -0
- remember-0.17.0/src/rememberstack/workers/knowledge_writer.py +399 -0
- remember-0.17.0/src/rememberstack/workers/lane_checkpoints.py +52 -0
- remember-0.17.0/src/rememberstack/workers/operations.py +42 -0
- remember-0.17.0/src/rememberstack/workers/p1.py +312 -0
- remember-0.17.0/src/rememberstack/workers/p3.py +712 -0
- remember-0.17.0/src/rememberstack/workers/reconcile.py +570 -0
- remember-0.17.0/src/rememberstack/workers/section_orientation.py +98 -0
- remember-0.17.0/src/rememberstack/workers/sync.py +168 -0
- remember-0.17.0/src/tests/adapters/test_bounded_postgres_read.py +26 -0
- remember-0.17.0/src/tests/adapters/test_codex_subscription.py +618 -0
- remember-0.17.0/src/tests/adapters/test_codex_writer.py +150 -0
- remember-0.17.0/src/tests/adapters/test_composite_auth.py +216 -0
- remember-0.17.0/src/tests/adapters/test_control_plane_spend_lease.py +482 -0
- remember-0.17.0/src/tests/adapters/test_generation_recorder.py +582 -0
- remember-0.17.0/src/tests/adapters/test_hashed_bearer_auth.py +105 -0
- remember-0.17.0/src/tests/adapters/test_image_ocr_description.py +949 -0
- remember-0.17.0/src/tests/adapters/test_managed_metering.py +144 -0
- remember-0.17.0/src/tests/adapters/test_minio_store.py +171 -0
- remember-0.17.0/src/tests/adapters/test_mistral_ocr.py +431 -0
- remember-0.17.0/src/tests/adapters/test_mount_provisioning.py +333 -0
- remember-0.17.0/src/tests/adapters/test_openrouter.py +2008 -0
- remember-0.17.0/src/tests/adapters/test_postgres_p1.py +892 -0
- remember-0.17.0/src/tests/adapters/test_routed.py +91 -0
- remember-0.17.0/src/tests/adapters/test_selfhost_forget.py +92 -0
- remember-0.17.0/src/tests/adapters/test_selfhost_git.py +204 -0
- remember-0.17.0/src/tests/adapters/test_selfhost_purge.py +108 -0
- remember-0.17.0/src/tests/adapters/test_selfhost_queue.py +238 -0
- remember-0.17.0/src/tests/adapters/test_selfhost_stores.py +56 -0
- remember-0.17.0/src/tests/adapters/test_sentry.py +179 -0
- remember-0.17.0/src/tests/adapters/test_signed_token_auth.py +928 -0
- remember-0.17.0/src/tests/adapters/test_telemetry.py +155 -0
- remember-0.17.0/src/tests/adapters/test_vertex.py +833 -0
- remember-0.17.0/src/tests/benchmarks/test_beam_answer_agent.py +111 -0
- remember-0.17.0/src/tests/benchmarks/test_beam_official_score.py +83 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_ablation.py +566 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_dataset.py +145 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_protocol.py +993 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_retrieval.py +566 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_runner.py +3580 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_sharding.py +94 -0
- remember-0.17.0/src/tests/benchmarks/test_locomo_store_backup.py +1097 -0
- remember-0.17.0/src/tests/blockizer_corpus/expected_hashes.json +51 -0
- remember-0.17.0/src/tests/blockizer_corpus/seed_mixed.md +24 -0
- remember-0.17.0/src/tests/conftest.py +43 -0
- remember-0.17.0/src/tests/core/test_blockizer_corpus.py +168 -0
- remember-0.17.0/src/tests/core/test_chunker.py +234 -0
- remember-0.17.0/src/tests/core/test_concise_adjudication.py +1288 -0
- remember-0.17.0/src/tests/core/test_consumption_skill.py +183 -0
- remember-0.17.0/src/tests/core/test_context_references.py +50 -0
- remember-0.17.0/src/tests/core/test_conversion.py +205 -0
- remember-0.17.0/src/tests/core/test_core_manifest.py +36 -0
- remember-0.17.0/src/tests/core/test_d80_recovery_and_hydration.py +125 -0
- remember-0.17.0/src/tests/core/test_embedding_input_policy.py +121 -0
- remember-0.17.0/src/tests/core/test_fact_application.py +109 -0
- remember-0.17.0/src/tests/core/test_fact_windows.py +309 -0
- remember-0.17.0/src/tests/core/test_forget_identity.py +29 -0
- remember-0.17.0/src/tests/core/test_knowledge_authored.py +91 -0
- remember-0.17.0/src/tests/core/test_knowledge_compile.py +247 -0
- remember-0.17.0/src/tests/core/test_knowledge_fact_sheet.py +198 -0
- remember-0.17.0/src/tests/core/test_knowledge_hashing.py +241 -0
- remember-0.17.0/src/tests/core/test_knowledge_planner.py +157 -0
- remember-0.17.0/src/tests/core/test_knowledge_writer.py +199 -0
- remember-0.17.0/src/tests/core/test_section_snap.py +321 -0
- remember-0.17.0/src/tests/core/test_selection_references.py +549 -0
- remember-0.17.0/src/tests/core/test_source_passages.py +246 -0
- remember-0.17.0/src/tests/core/test_structure_skeleton.py +264 -0
- remember-0.17.0/src/tests/core/test_temporal.py +135 -0
- remember-0.17.0/src/tests/core/test_text_metering.py +83 -0
- remember-0.17.0/src/tests/database_reset.py +56 -0
- remember-0.17.0/src/tests/eval/test_harness_skeleton.py +157 -0
- remember-0.17.0/src/tests/eval/test_s55_hard_forget.py +253 -0
- remember-0.17.0/src/tests/eval/test_s55_selfhost_restore.py +303 -0
- remember-0.17.0/src/tests/eval/test_s58_consumption.py +347 -0
- remember-0.17.0/src/tests/fact_application_support.py +258 -0
- remember-0.17.0/src/tests/model/test_component_version.py +189 -0
- remember-0.17.0/src/tests/model/test_deployment.py +100 -0
- remember-0.17.0/src/tests/model/test_fallback_structure_schema.py +85 -0
- remember-0.17.0/src/tests/model/test_forget.py +118 -0
- remember-0.17.0/src/tests/model/test_occurrence_provenance.py +310 -0
- remember-0.17.0/src/tests/model/test_resolution.py +50 -0
- remember-0.17.0/src/tests/packaging/test_client_wheel.py +427 -0
- remember-0.17.0/src/tests/packaging/test_pypi_release_cli.py +73 -0
- remember-0.17.0/src/tests/packaging/test_release_contract.py +382 -0
- remember-0.17.0/src/tests/profiles/test_selfhost_profile.py +381 -0
- remember-0.17.0/src/tests/spikes/test_operational_scale.py +841 -0
- remember-0.17.0/src/tests/spine/test_backfill.py +204 -0
- remember-0.17.0/src/tests/spine/test_canonical_bounds_sql.py +196 -0
- remember-0.17.0/src/tests/spine/test_catalog_lanes.py +19 -0
- remember-0.17.0/src/tests/spine/test_claim_occurrence_provenance.py +220 -0
- remember-0.17.0/src/tests/spine/test_clustering.py +814 -0
- remember-0.17.0/src/tests/spine/test_clustering_lock_policy.py +273 -0
- remember-0.17.0/src/tests/spine/test_component_versions.py +470 -0
- remember-0.17.0/src/tests/spine/test_concise_adjudication_pg.py +319 -0
- remember-0.17.0/src/tests/spine/test_d119_migration.py +99 -0
- remember-0.17.0/src/tests/spine/test_d119_multi_span.py +158 -0
- remember-0.17.0/src/tests/spine/test_d122_e2.py +178 -0
- remember-0.17.0/src/tests/spine/test_d122_selection.py +216 -0
- remember-0.17.0/src/tests/spine/test_d123_context_nomination.py +290 -0
- remember-0.17.0/src/tests/spine/test_deployment_bootstrap.py +529 -0
- remember-0.17.0/src/tests/spine/test_document_inventory.py +672 -0
- remember-0.17.0/src/tests/spine/test_entity_eligibility.py +53 -0
- remember-0.17.0/src/tests/spine/test_fact_application_writer.py +637 -0
- remember-0.17.0/src/tests/spine/test_fact_rejection_retry.py +247 -0
- remember-0.17.0/src/tests/spine/test_forget_catalog.py +1591 -0
- remember-0.17.0/src/tests/spine/test_governance.py +242 -0
- remember-0.17.0/src/tests/spine/test_jev_adjudication.py +1031 -0
- remember-0.17.0/src/tests/spine/test_knowledge_commit_driver.py +950 -0
- remember-0.17.0/src/tests/spine/test_knowledge_control_plane.py +2620 -0
- remember-0.17.0/src/tests/spine/test_managed_metering_sql.py +587 -0
- remember-0.17.0/src/tests/spine/test_migrations.py +1306 -0
- remember-0.17.0/src/tests/spine/test_observation_adjudication.py +153 -0
- remember-0.17.0/src/tests/spine/test_operations.py +510 -0
- remember-0.17.0/src/tests/spine/test_pipeline_readiness.py +810 -0
- remember-0.17.0/src/tests/spine/test_profile_convergence.py +92 -0
- remember-0.17.0/src/tests/spine/test_profile_refresher.py +675 -0
- remember-0.17.0/src/tests/spine/test_query_space_batch_a.py +3828 -0
- remember-0.17.0/src/tests/spine/test_query_space_manifest.py +388 -0
- remember-0.17.0/src/tests/spine/test_rank_embed_cache.py +76 -0
- remember-0.17.0/src/tests/spine/test_resolver.py +1994 -0
- remember-0.17.0/src/tests/spine/test_review_queue.py +957 -0
- remember-0.17.0/src/tests/spine/test_supersession.py +124 -0
- remember-0.17.0/src/tests/spine/test_unmerge_ripple.py +351 -0
- remember-0.17.0/src/tests/spine/test_work_ledger.py +797 -0
- remember-0.17.0/src/tests/surfaces/golden/cost_export_v1_page.json +48 -0
- remember-0.17.0/src/tests/surfaces/lineage_seed.py +284 -0
- remember-0.17.0/src/tests/surfaces/test_adjacent_chunks.py +323 -0
- remember-0.17.0/src/tests/surfaces/test_assured_operation_authorities.py +239 -0
- remember-0.17.0/src/tests/surfaces/test_browser_origin_cors.py +250 -0
- remember-0.17.0/src/tests/surfaces/test_cli_platform.py +2267 -0
- remember-0.17.0/src/tests/surfaces/test_client_sdk.py +1163 -0
- remember-0.17.0/src/tests/surfaces/test_cost_export.py +330 -0
- remember-0.17.0/src/tests/surfaces/test_cost_export_contract.py +344 -0
- remember-0.17.0/src/tests/surfaces/test_device_login_contract.py +100 -0
- remember-0.17.0/src/tests/surfaces/test_document_inventory_http.py +180 -0
- remember-0.17.0/src/tests/surfaces/test_envelope_contract.py +639 -0
- remember-0.17.0/src/tests/surfaces/test_forget_admission.py +40 -0
- remember-0.17.0/src/tests/surfaces/test_graph_http_api.py +193 -0
- remember-0.17.0/src/tests/surfaces/test_graph_queries.py +1051 -0
- remember-0.17.0/src/tests/surfaces/test_ingest_principal.py +483 -0
- remember-0.17.0/src/tests/surfaces/test_login.py +1782 -0
- remember-0.17.0/src/tests/surfaces/test_mcp_memory_tools.py +984 -0
- remember-0.17.0/src/tests/surfaces/test_open_query_batch_f.py +1412 -0
- remember-0.17.0/src/tests/surfaces/test_openapi_export.py +342 -0
- remember-0.17.0/src/tests/surfaces/test_operation_registry.py +391 -0
- remember-0.17.0/src/tests/surfaces/test_ops_cli.py +140 -0
- remember-0.17.0/src/tests/surfaces/test_post_search.py +193 -0
- remember-0.17.0/src/tests/surfaces/test_postgres_graph_sql.py +272 -0
- remember-0.17.0/src/tests/surfaces/test_query_resolve_tiers.py +925 -0
- remember-0.17.0/src/tests/surfaces/test_query_sandbox_batch_b.py +1127 -0
- remember-0.17.0/src/tests/surfaces/test_query_sandbox_batch_c.py +1264 -0
- remember-0.17.0/src/tests/surfaces/test_query_sandbox_graph_d98.py +212 -0
- remember-0.2.0/tests/test_client.py → remember-0.17.0/src/tests/surfaces/test_remember_cloud_client.py +1 -0
- remember-0.17.0/src/tests/surfaces/test_remember_facade.py +196 -0
- remember-0.17.0/src/tests/surfaces/test_retrieval_api.py +1145 -0
- remember-0.17.0/src/tests/surfaces/test_retrieval_batch_b.py +947 -0
- remember-0.17.0/src/tests/surfaces/test_retrieval_batch_c.py +1856 -0
- remember-0.17.0/src/tests/surfaces/test_retrieval_batch_e.py +310 -0
- remember-0.17.0/src/tests/surfaces/test_retrieval_primitives.py +1151 -0
- remember-0.17.0/src/tests/surfaces/test_route_scope.py +150 -0
- remember-0.17.0/src/tests/surfaces/test_saved_queries_batch_e.py +2545 -0
- remember-0.17.0/src/tests/surfaces/test_surface_cost.py +254 -0
- remember-0.17.0/src/tests/surfaces/test_surfaces_parity.py +620 -0
- remember-0.17.0/src/tests/t4_test_doubles.py +25 -0
- remember-0.17.0/src/tests/test_d98_removal_audit.py +181 -0
- remember-0.17.0/src/tests/test_forget_port_contract.py +114 -0
- remember-0.17.0/src/tests/test_port_inventory_and_conformance.py +366 -0
- remember-0.17.0/src/tests/test_port_model_values.py +176 -0
- remember-0.17.0/src/tests/test_queue_port_contract.py +163 -0
- remember-0.17.0/src/tests/test_smoke.py +14 -0
- remember-0.17.0/src/tests/workers/e2_test_doubles.py +99 -0
- remember-0.17.0/src/tests/workers/e3_test_doubles.py +210 -0
- remember-0.17.0/src/tests/workers/test_chunk_level_extract.py +153 -0
- remember-0.17.0/src/tests/workers/test_claim_valid_time.py +350 -0
- remember-0.17.0/src/tests/workers/test_claimify_loss_ledger.py +1075 -0
- remember-0.17.0/src/tests/workers/test_claimify_loss_ledger_pg.py +221 -0
- remember-0.17.0/src/tests/workers/test_cross_turn_anaphora_extraction.py +577 -0
- remember-0.17.0/src/tests/workers/test_d119_reuse.py +249 -0
- remember-0.17.0/src/tests/workers/test_d119_versions.py +644 -0
- remember-0.17.0/src/tests/workers/test_d79_structure_route.py +561 -0
- remember-0.17.0/src/tests/workers/test_d79_summaries.py +510 -0
- remember-0.17.0/src/tests/workers/test_d79_summary_consumption.py +185 -0
- remember-0.17.0/src/tests/workers/test_e0_chain.py +1900 -0
- remember-0.17.0/src/tests/workers/test_e1_chain.py +378 -0
- remember-0.17.0/src/tests/workers/test_e2_chain.py +590 -0
- remember-0.17.0/src/tests/workers/test_e2_occurrence_provenance.py +434 -0
- remember-0.17.0/src/tests/workers/test_e3_bare_head_noun.py +233 -0
- remember-0.17.0/src/tests/workers/test_e3_chain.py +890 -0
- remember-0.17.0/src/tests/workers/test_e3_claim_normalize_fanout.py +439 -0
- remember-0.17.0/src/tests/workers/test_e3_context_references.py +121 -0
- remember-0.17.0/src/tests/workers/test_e3_entity_obs_flush_fanout.py +139 -0
- remember-0.17.0/src/tests/workers/test_extraction_temperature.py +83 -0
- remember-0.17.0/src/tests/workers/test_hard_forget_handler.py +343 -0
- remember-0.17.0/src/tests/workers/test_hard_forget_service.py +249 -0
- remember-0.17.0/src/tests/workers/test_ingest_admission.py +132 -0
- remember-0.17.0/src/tests/workers/test_ingest_gate_is_the_only_door.py +108 -0
- remember-0.17.0/src/tests/workers/test_ingest_routability.py +204 -0
- remember-0.17.0/src/tests/workers/test_lifecycle_reconciliation.py +1131 -0
- remember-0.17.0/src/tests/workers/test_p3_corpusfs.py +668 -0
- remember-0.17.0/src/tests/workers/test_reuse_lifecycle.py +639 -0
- remember-0.17.0/src/tests/workers/test_watch_loop.py +494 -0
- remember-0.17.0/uv.lock +2297 -0
- remember-0.17.0/website/.gitignore +25 -0
- remember-0.17.0/website/README.md +152 -0
- remember-0.17.0/website/mdx-components.tsx +65 -0
- remember-0.17.0/website/next.config.ts +27 -0
- remember-0.17.0/website/package-lock.json +4779 -0
- remember-0.17.0/website/package.json +41 -0
- remember-0.17.0/website/postcss.config.mjs +8 -0
- remember-0.17.0/website/public/.nojekyll +0 -0
- remember-0.17.0/website/public/brand/mark.svg +25 -0
- remember-0.17.0/website/public/docs/diagrams/ingestion-pipeline.jpg +0 -0
- remember-0.17.0/website/public/docs/diagrams/orient-verify-audit.jpg +0 -0
- remember-0.17.0/website/public/docs/diagrams/plane-k.jpg +0 -0
- remember-0.17.0/website/public/docs/diagrams/retrieval-flow.jpg +0 -0
- remember-0.17.0/website/public/docs/diagrams/testimony-vs-truth.jpg +0 -0
- remember-0.17.0/website/public/docs/diagrams/three-planes.jpg +0 -0
- remember-0.17.0/website/public/docs/diagrams/two-clocks.jpg +0 -0
- remember-0.17.0/website/public/llms-full.txt +140 -0
- remember-0.17.0/website/public/llms.txt +26 -0
- remember-0.17.0/website/src/app/docs/architecture/page.mdx +141 -0
- remember-0.17.0/website/src/app/docs/cloud/architecture/page.mdx +92 -0
- remember-0.17.0/website/src/app/docs/cloud/billing/page.mdx +78 -0
- remember-0.17.0/website/src/app/docs/cloud/cli/page.mdx +122 -0
- remember-0.17.0/website/src/app/docs/cloud/how-it-works/page.mdx +106 -0
- remember-0.17.0/website/src/app/docs/cloud/managed-vs-self-hosted/page.mdx +78 -0
- remember-0.17.0/website/src/app/docs/cloud/security/page.mdx +61 -0
- remember-0.17.0/website/src/app/docs/concepts/page.mdx +181 -0
- remember-0.17.0/website/src/app/docs/configuration/page.mdx +399 -0
- remember-0.17.0/website/src/app/docs/deployment/page.mdx +186 -0
- remember-0.17.0/website/src/app/docs/evaluation/page.mdx +155 -0
- remember-0.17.0/website/src/app/docs/getting-started/choose-your-path/page.mdx +116 -0
- remember-0.17.0/website/src/app/docs/getting-started/page.mdx +137 -0
- remember-0.17.0/website/src/app/docs/harnesses/page.mdx +182 -0
- remember-0.17.0/website/src/app/docs/ingestion/lifecycle/page.mdx +162 -0
- remember-0.17.0/website/src/app/docs/ingestion/page.mdx +111 -0
- remember-0.17.0/website/src/app/docs/ingestion/pipeline/page.mdx +343 -0
- remember-0.17.0/website/src/app/docs/knowledge/page.mdx +122 -0
- remember-0.17.0/website/src/app/docs/layout.tsx +46 -0
- remember-0.17.0/website/src/app/docs/mounts/page.mdx +154 -0
- remember-0.17.0/website/src/app/docs/page.mdx +26 -0
- remember-0.17.0/website/src/app/docs/project-status/page.mdx +418 -0
- remember-0.17.0/website/src/app/docs/reference/api/page.mdx +674 -0
- remember-0.17.0/website/src/app/docs/reference/cli/page.mdx +211 -0
- remember-0.17.0/website/src/app/docs/reference/mcp/page.mdx +262 -0
- remember-0.17.0/website/src/app/docs/reference/sdk/page.mdx +189 -0
- remember-0.17.0/website/src/app/docs/retrieval/envelope/page.mdx +216 -0
- remember-0.17.0/website/src/app/docs/retrieval/open-query/page.mdx +172 -0
- remember-0.17.0/website/src/app/docs/retrieval/page.mdx +165 -0
- remember-0.17.0/website/src/app/docs/retrieval/primitives/page.mdx +195 -0
- remember-0.17.0/website/src/app/docs/troubleshooting/page.mdx +207 -0
- remember-0.17.0/website/src/app/docs/why/page.mdx +176 -0
- remember-0.17.0/website/src/app/globals.css +266 -0
- remember-0.17.0/website/src/app/layout.tsx +57 -0
- remember-0.17.0/website/src/app/page.tsx +76 -0
- remember-0.17.0/website/src/components/docs/DocsPageNavigation.tsx +42 -0
- remember-0.17.0/website/src/components/docs/DocsSidebar.tsx +62 -0
- remember-0.17.0/website/src/components/docs/DocsTableOfContents.tsx +83 -0
- remember-0.17.0/website/src/components/docs/MobileDocsSidebar.tsx +55 -0
- remember-0.17.0/website/src/components/search/SearchCommand.tsx +181 -0
- remember-0.17.0/website/src/components/site/BrandLockup.tsx +45 -0
- remember-0.17.0/website/src/components/site/SiteHeader.tsx +39 -0
- remember-0.17.0/website/src/lib/docs/navigation.ts +109 -0
- remember-0.17.0/website/src/lib/search/pagefind.ts +103 -0
- remember-0.17.0/website/src/lib/utils.ts +7 -0
- remember-0.17.0/website/tsconfig.json +42 -0
- remember-0.2.0/.gitignore +0 -68
- remember-0.2.0/PKG-INFO +0 -78
- remember-0.2.0/README.md +0 -57
- remember-0.2.0/pyproject.toml +0 -53
- remember-0.2.0/src/remember/__init__.py +0 -74
- remember-0.2.0/src/remember/cli.py +0 -113
- remember-0.2.0/src/remember/client.py +0 -246
- remember-0.2.0/src/remember/models.py +0 -211
- remember-0.2.0/tests/test_cli.py +0 -196
- remember-0.2.0/uv.lock +0 -598
- /remember-0.2.0/src/remember/py.typed → /remember-0.17.0/.agents/skills/skill-creator/scripts/__init__.py +0 -0
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: eval-banana
|
|
3
|
+
description: Guide for using eval-banana, a lightweight aspect-based evaluation framework with YAML check definitions. Use when the user is working in a project with `eval_checks/` directories, wants to write or debug YAML eval definitions, needs to score LLM outputs or workflow behavior with pass/fail checks, is running `eval-banana` / `eb` CLI commands, or is setting up eval-banana in a new project. Covers deterministic checks, harness_judge checks, auto-discovery rules, context.json contract, config precedence, and report interpretation.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# eval-banana
|
|
7
|
+
|
|
8
|
+
## Overview
|
|
9
|
+
|
|
10
|
+
eval-banana is a lightweight evaluation framework. Check definitions live in YAML files under `eval_checks/` directories and are auto-discovered. Each check scores 0 or 1 (pass/fail) with equal weight. Two check types cover most needs. One YAML file per check — there is no suite wrapper.
|
|
11
|
+
|
|
12
|
+
## The two check types
|
|
13
|
+
|
|
14
|
+
| Type | Use when | Mechanism |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `deterministic` | Asserting file content, structure, or values objectively | Python script via subprocess; exit 0 = pass, non-zero = fail |
|
|
17
|
+
| `harness_judge` | Evaluating qualitative properties (coherence, tone, factuality) | Harness agent returns `{"score": 0\|1, "reason": "..."}` |
|
|
18
|
+
|
|
19
|
+
**Default to `deterministic`** when the condition can be checked with code — it's the cheapest, most reliable, and requires no credentials.
|
|
20
|
+
|
|
21
|
+
## Core workflow
|
|
22
|
+
|
|
23
|
+
1. **Install** (once per machine): `uv tool install git+https://github.com/writeitai/eval-banana.git`
|
|
24
|
+
2. **Initialize in project**: `eval-banana init` — creates `.eval-banana/config.toml`
|
|
25
|
+
3. **Write checks**: add `*.yaml` files to any `eval_checks/` directory (they are auto-discovered from the project root)
|
|
26
|
+
4. **Run**: `eval-banana run`
|
|
27
|
+
5. **Read the report**: look under `.eval-banana/results/<run_id>/`
|
|
28
|
+
|
|
29
|
+
## Common YAML fields
|
|
30
|
+
|
|
31
|
+
Every check file starts with these fields regardless of type:
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
schema_version: 1 # Always 1. Required. No default.
|
|
35
|
+
id: my_check_id # Unique across the project. Pattern: [a-zA-Z0-9_-]+
|
|
36
|
+
type: deterministic # One of: deterministic, harness_judge
|
|
37
|
+
description: Human-readable # Required. Non-empty.
|
|
38
|
+
tags: [fast, critical] # Optional list of free-form tags.
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Plus type-specific fields below.
|
|
42
|
+
|
|
43
|
+
## Writing a `deterministic` check
|
|
44
|
+
|
|
45
|
+
Runs a Python script via subprocess. Exit code 0 = pass, non-zero = fail. Infrastructure problems (missing script file, OS execution failure) = error.
|
|
46
|
+
|
|
47
|
+
```yaml
|
|
48
|
+
schema_version: 1
|
|
49
|
+
id: output_has_result_key
|
|
50
|
+
type: deterministic
|
|
51
|
+
description: output.json exists and contains a 'result' key.
|
|
52
|
+
script: |
|
|
53
|
+
import json, sys
|
|
54
|
+
from pathlib import Path
|
|
55
|
+
|
|
56
|
+
ctx = json.loads(Path(sys.argv[1]).read_text())
|
|
57
|
+
project_root = Path(ctx["project_root"])
|
|
58
|
+
output = project_root / "output.json"
|
|
59
|
+
if not output.exists():
|
|
60
|
+
sys.exit(1)
|
|
61
|
+
data = json.loads(output.read_text())
|
|
62
|
+
if "result" not in data:
|
|
63
|
+
sys.exit(1)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Use `script: |` for inline Python, or `script_path: my_script.py` for an external script. The path is resolved **relative to the YAML file's directory**. Exactly one of `script` or `script_path` must be set.
|
|
67
|
+
|
|
68
|
+
### The `context.json` contract (critical!)
|
|
69
|
+
|
|
70
|
+
The script is invoked as `python <script> <context.json>`. Read `sys.argv[1]` to get the context path. It always has this exact shape:
|
|
71
|
+
|
|
72
|
+
```json
|
|
73
|
+
{
|
|
74
|
+
"check_id": "output_has_result_key",
|
|
75
|
+
"description": "output.json exists and contains a 'result' key.",
|
|
76
|
+
"project_root": "/abs/path/to/project",
|
|
77
|
+
"source_path": "/abs/path/to/project/eval_checks/my_check.yaml",
|
|
78
|
+
"output_dir": "/abs/path/.../.eval-banana/results/<run_id>/checks/output_has_result_key-<sha256-of-exact-id>"
|
|
79
|
+
}
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
Key points:
|
|
83
|
+
- `project_root` is absolute — use it to locate any file in the project.
|
|
84
|
+
- The subprocess runs with `cwd = project_root`, so relative paths in the script also resolve from there.
|
|
85
|
+
- `output_dir` is the durable directory for evidence produced by this check.
|
|
86
|
+
Its final component is the same safe stem used for result, prompt, stdout,
|
|
87
|
+
and stderr artifacts: a readable label of at most 40 characters plus the
|
|
88
|
+
full SHA-256 of the exact check ID. Never reconstruct it from `check_id`.
|
|
89
|
+
|
|
90
|
+
### Deterministic failure mapping
|
|
91
|
+
|
|
92
|
+
- `sys.exit(0)` or falling off the end → passed
|
|
93
|
+
- `sys.exit(1)` or any non-zero exit → failed
|
|
94
|
+
- `AssertionError` or any uncaught exception → failed (non-zero exit)
|
|
95
|
+
- `FileNotFoundError` on the script itself → error
|
|
96
|
+
|
|
97
|
+
## Writing a `harness_judge` check
|
|
98
|
+
|
|
99
|
+
Invokes the configured harness agent with instructions. The agent can read files on its own. It must eventually emit JSON: `{"score": 0|1, "reason": "one sentence"}`.
|
|
100
|
+
|
|
101
|
+
```yaml
|
|
102
|
+
schema_version: 1
|
|
103
|
+
id: readme_explains_install
|
|
104
|
+
type: harness_judge
|
|
105
|
+
description: README gives a new user enough info to install the package.
|
|
106
|
+
instructions: |
|
|
107
|
+
Read README.md. Does it give a new user enough information to
|
|
108
|
+
install and run the package locally (environment setup, install
|
|
109
|
+
command, and how to invoke it)? Score 1 if yes, 0 if anything
|
|
110
|
+
critical is missing.
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
Guidelines for good instructions:
|
|
114
|
+
- State the exact condition for score 1 and score 0.
|
|
115
|
+
- Be binary — avoid "mostly", "partially", etc.
|
|
116
|
+
- Reference concrete things to look for.
|
|
117
|
+
- Tell the agent which files to read.
|
|
118
|
+
- Keep it short. Long instructions confuse the judge.
|
|
119
|
+
- Do not ask for scores outside {0, 1} — the parser rejects anything else as `error`.
|
|
120
|
+
|
|
121
|
+
Optional fields:
|
|
122
|
+
- `model: gpt-5.6-sol` — override the default harness model for this one check
|
|
123
|
+
(codex tiers: `gpt-5.6-sol`, `gpt-5.6-terra`, `gpt-5.6-luna`).
|
|
124
|
+
|
|
125
|
+
## Auto-discovery rules
|
|
126
|
+
|
|
127
|
+
- eval-banana walks from the project root (the directory containing `.eval-banana/`).
|
|
128
|
+
- It finds every directory named exactly `eval_checks/`.
|
|
129
|
+
- Inside each, it loads every `*.yaml` and `*.yml` file.
|
|
130
|
+
- Check IDs must be unique across all discovered files. Duplicates are a **fatal load error**.
|
|
131
|
+
- These directories are skipped by default: `.git`, `.hg`, `.svn`, `.venv`, `venv`, `node_modules`, `__pycache__`, `dist`, `build`.
|
|
132
|
+
- Symlinked directories are not followed.
|
|
133
|
+
|
|
134
|
+
Co-locate checks with the code they verify:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
project/
|
|
138
|
+
├── eval_checks/ # Top-level checks
|
|
139
|
+
│ └── overall_quality.yaml
|
|
140
|
+
├── src/api/
|
|
141
|
+
│ └── eval_checks/ # API-specific checks
|
|
142
|
+
│ └── response_schema.yaml
|
|
143
|
+
└── frontend/
|
|
144
|
+
└── eval_checks/ # Frontend E2E checks
|
|
145
|
+
└── login_flow.yaml
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
## Running checks
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
eval-banana run # Run everything
|
|
152
|
+
eval-banana run --check-id my_check # Run one check; relaxed validation of siblings
|
|
153
|
+
eval-banana run --check-dir path/ # Only scan this directory
|
|
154
|
+
eval-banana run --verbose # Debug logging
|
|
155
|
+
eval-banana run --pass-threshold 0.8 # Override pass ratio
|
|
156
|
+
eval-banana list # Discover + print checks without running
|
|
157
|
+
eval-banana validate # Validate YAML without executing anything
|
|
158
|
+
eval-banana init [--force] # Create project config
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
**`--check-id` is the debug escape hatch.** It uses relaxed validation — broken YAML in other files does NOT block a single targeted check. Use it when iterating on one check in a repo with incomplete checks elsewhere.
|
|
162
|
+
|
|
163
|
+
## Reading results
|
|
164
|
+
|
|
165
|
+
Each run writes to `.eval-banana/results/<run_id>/`:
|
|
166
|
+
|
|
167
|
+
```
|
|
168
|
+
<run_id>/
|
|
169
|
+
├── report.json # Machine-readable, full EvalReport
|
|
170
|
+
├── report.md # Human-readable summary
|
|
171
|
+
└── checks/
|
|
172
|
+
├── <safe_check_id_stem>/ # Deterministic-check evidence directory
|
|
173
|
+
├── <safe_check_id_stem>.json # Per-check CheckResult
|
|
174
|
+
├── <safe_check_id_stem>.prompt.txt # Exact harness-judge input
|
|
175
|
+
├── <safe_check_id_stem>.stdout.txt # Captured stdout (only if non-empty)
|
|
176
|
+
└── <safe_check_id_stem>.stderr.txt # Captured stderr (only if non-empty)
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
`<safe_check_id_stem>` is a bounded readable label plus the full SHA-256 of the
|
|
180
|
+
exact check ID. All artifacts for one check share it, while IDs that differ only
|
|
181
|
+
by case or normalization remain distinct. The evidence directory is created for
|
|
182
|
+
deterministic checks; the prompt file is created for harness-judge checks.
|
|
183
|
+
|
|
184
|
+
The console output shows:
|
|
185
|
+
- Run ID
|
|
186
|
+
- `points_earned/total_points` and percentage
|
|
187
|
+
- PASS or FAIL verdict
|
|
188
|
+
- Per-check list with reason (for failed) or error (for errored)
|
|
189
|
+
|
|
190
|
+
**Pass criteria**: `run_passed = (points_earned / total_points) >= pass_threshold AND errored_checks == 0`. A single erroring check means the whole run fails, even if every other check passed.
|
|
191
|
+
|
|
192
|
+
Exit code: 0 on `run_passed`, 1 otherwise. Usable directly in CI.
|
|
193
|
+
|
|
194
|
+
## When to use which check type
|
|
195
|
+
|
|
196
|
+
- **`deterministic`** — the condition is objective and testable with code:
|
|
197
|
+
- "file X exists and is non-empty"
|
|
198
|
+
- "the JSON has field Y"
|
|
199
|
+
- "no TODO comments in src/"
|
|
200
|
+
- "the CSV has N rows with these columns"
|
|
201
|
+
|
|
202
|
+
- **`harness_judge`** — the condition is subjective or needs language understanding:
|
|
203
|
+
- "the error message is helpful to end users"
|
|
204
|
+
- "the generated summary captures the key points"
|
|
205
|
+
- "the tone is professional and friendly"
|
|
206
|
+
- "the docs explain the concept clearly"
|
|
207
|
+
|
|
208
|
+
**If in doubt, prefer `deterministic`** — cheapest, most reliable, no credentials needed.
|
|
209
|
+
|
|
210
|
+
## Common gotchas
|
|
211
|
+
|
|
212
|
+
- **Forgetting `schema_version: 1`** — it has no default and omitting it is a validation error.
|
|
213
|
+
- **Using `script:` AND `script_path:`** — exactly one must be set, never both.
|
|
214
|
+
- **Putting a shell string in `command:`** — must be a list, e.g. `["pytest", "-q"]`, never `"pytest -q"`.
|
|
215
|
+
- **Duplicate IDs across files** — fatal. Grep for the ID before adding a new check.
|
|
216
|
+
- **Expecting judge checks to work without a harness** — configure `[harness] agent` or pass `--harness-agent`.
|
|
217
|
+
- **Assuming `cwd` is where you invoked `eval-banana`** — deterministic scripts run with `cwd = project_root`.
|
|
218
|
+
- **LLM judge returns prose instead of JSON** — the runner requires strict `{"score": 0|1, "reason": "..."}`. Tell the LLM to respond with JSON only.
|
|
219
|
+
|
|
220
|
+
## References
|
|
221
|
+
|
|
222
|
+
For deeper detail, read these as needed:
|
|
223
|
+
|
|
224
|
+
- **`references/yaml-schema.md`** — Every field for every check type, validation rules, and edge cases. Read when writing a check with unusual requirements or debugging a validation error.
|
|
225
|
+
- **`references/examples.md`** — Gallery of real-world check patterns (JSON validation, test runners, linters, LLM tone checks, UI flows). Read when looking for a template matching the current use case.
|
|
226
|
+
- **`references/config.md`** — Full TOML config reference, precedence rules, harness settings, and environment variable list. Read when configuring eval-banana for a new project.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# Configuration reference
|
|
2
|
+
|
|
3
|
+
Complete reference for eval-banana configuration: TOML layout, precedence rules, environment variables, and harness_judge setup.
|
|
4
|
+
|
|
5
|
+
## Table of contents
|
|
6
|
+
|
|
7
|
+
- File locations
|
|
8
|
+
- Config sections
|
|
9
|
+
- Precedence rules
|
|
10
|
+
- Environment variables
|
|
11
|
+
- Harness setup
|
|
12
|
+
- Common config mistakes
|
|
13
|
+
|
|
14
|
+
## File location
|
|
15
|
+
|
|
16
|
+
Config lives at `.eval-banana/config.toml` in the project directory. It is found by walking upward from the current directory, so `eval-banana` works from any subdirectory.
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
eval-banana init # Create project config
|
|
20
|
+
eval-banana init --force # Overwrite existing
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Config sections
|
|
24
|
+
|
|
25
|
+
### `[core]` section
|
|
26
|
+
|
|
27
|
+
| Key | Default | Description |
|
|
28
|
+
|---|---|---|
|
|
29
|
+
| `output_dir` | `.eval-banana/results` | Where run artifacts are written (relative to project root) |
|
|
30
|
+
| `pass_threshold` | `1.0` | Minimum `points/total` ratio for the run to pass (0.0-1.0) |
|
|
31
|
+
| `llm_max_input_chars` | `0` (disabled) | Max characters sent to `harness_judge` per target file; 0 = no limit |
|
|
32
|
+
|
|
33
|
+
### `[harness]` section
|
|
34
|
+
|
|
35
|
+
| Key | Default | Description |
|
|
36
|
+
|---|---|---|
|
|
37
|
+
| `agent` | unset | Built-in agent name such as `codex`, `claude`, or `gemini` |
|
|
38
|
+
| `model` | unset | Override the template default model |
|
|
39
|
+
| `reasoning_effort` | unset | Override the template reasoning effort |
|
|
40
|
+
|
|
41
|
+
### `[discovery]` section
|
|
42
|
+
|
|
43
|
+
| Key | Default | Description |
|
|
44
|
+
|---|---|---|
|
|
45
|
+
| `exclude_dirs` | `[".git", ".hg", ".svn", ".venv", "venv", "node_modules", "__pycache__", "dist", "build"]` | Directories to skip when walking for `eval_checks/` |
|
|
46
|
+
|
|
47
|
+
Setting `exclude_dirs` replaces the built-in default list entirely, it does not append.
|
|
48
|
+
|
|
49
|
+
## Precedence rules
|
|
50
|
+
|
|
51
|
+
Config values are resolved in this order (highest priority first):
|
|
52
|
+
|
|
53
|
+
1. **CLI arguments** (`--output-dir`, `--harness-model`, etc.)
|
|
54
|
+
2. **`EVAL_BANANA_*` environment variables**
|
|
55
|
+
3. **Project config** (`.eval-banana/config.toml`)
|
|
56
|
+
4. **Built-in defaults**
|
|
57
|
+
|
|
58
|
+
## Environment variables
|
|
59
|
+
|
|
60
|
+
| Variable | Maps to |
|
|
61
|
+
|---|---|
|
|
62
|
+
| `EVAL_BANANA_OUTPUT_DIR` | `core.output_dir` |
|
|
63
|
+
| `EVAL_BANANA_PASS_THRESHOLD` | `core.pass_threshold` |
|
|
64
|
+
| `EVAL_BANANA_LLM_MAX_INPUT_CHARS` | `core.llm_max_input_chars` |
|
|
65
|
+
| `EVAL_BANANA_HARNESS_AGENT` | `harness.agent` |
|
|
66
|
+
| `EVAL_BANANA_HARNESS_MODEL` | `harness.model` |
|
|
67
|
+
| `EVAL_BANANA_HARNESS_REASONING_EFFORT` | `harness.reasoning_effort` |
|
|
68
|
+
|
|
69
|
+
## Harness setup
|
|
70
|
+
|
|
71
|
+
Configure a harness agent when your project uses `harness_judge` checks.
|
|
72
|
+
|
|
73
|
+
```toml
|
|
74
|
+
[harness]
|
|
75
|
+
agent = "codex"
|
|
76
|
+
# codex GPT-5.6 tiers: gpt-5.6-sol (flagship, default), gpt-5.6-terra, gpt-5.6-luna
|
|
77
|
+
model = "gpt-5.6-sol"
|
|
78
|
+
reasoning_effort = "high"
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
If a project still contains a legacy `[llm]` section, eval-banana exits with a migration error instructing you to delete it and use `[harness]` / `[agents.*]`.
|
|
82
|
+
|
|
83
|
+
## Generated config template
|
|
84
|
+
|
|
85
|
+
Created by `eval-banana init` at `.eval-banana/config.toml`:
|
|
86
|
+
|
|
87
|
+
```toml
|
|
88
|
+
# Project-level eval-banana configuration.
|
|
89
|
+
|
|
90
|
+
[core]
|
|
91
|
+
output_dir = ".eval-banana/results"
|
|
92
|
+
pass_threshold = 1.0
|
|
93
|
+
llm_max_input_chars = 0
|
|
94
|
+
|
|
95
|
+
[harness]
|
|
96
|
+
agent = "codex"
|
|
97
|
+
|
|
98
|
+
[discovery]
|
|
99
|
+
exclude_dirs = [".git", ".hg", ".svn", ".venv", "venv", "node_modules", "__pycache__", "dist", "build"]
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## Common config mistakes
|
|
103
|
+
|
|
104
|
+
| Mistake | Symptom | Fix |
|
|
105
|
+
|---|---|---|
|
|
106
|
+
| `pass_threshold: 80` (integer) | All runs fail | Use `pass_threshold = 0.8` (float, 0.0-1.0) |
|
|
107
|
+
| Relative `output_dir` resolved from wrong cwd | Results appear in unexpected locations | eval-banana always resolves from `project_root`, not `pwd` |
|
|
108
|
+
| Leaving a stale `[llm]` section in config | eval-banana exits before loading config | Delete `[llm]` and configure `[harness]` / `[agents.*]` instead |
|
|
109
|
+
| Replacing `exclude_dirs` with an incomplete list | `.git`, `.venv` get scanned | Lists replace, not merge — include all default entries |
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# Example check patterns
|
|
2
|
+
|
|
3
|
+
Gallery of real-world eval-banana check patterns. Copy and adapt.
|
|
4
|
+
|
|
5
|
+
## Table of contents
|
|
6
|
+
|
|
7
|
+
- Deterministic: file existence and content
|
|
8
|
+
- Deterministic: JSON schema validation
|
|
9
|
+
- Deterministic: no forbidden tokens in source
|
|
10
|
+
- Deterministic: counting records
|
|
11
|
+
- Harness judge: README quality
|
|
12
|
+
- Harness judge: tone / professionalism
|
|
13
|
+
- Harness judge: factual consistency
|
|
14
|
+
- Harness judge: multi-file comparison
|
|
15
|
+
|
|
16
|
+
## Deterministic: file existence and content
|
|
17
|
+
|
|
18
|
+
```yaml
|
|
19
|
+
schema_version: 1
|
|
20
|
+
id: changelog_exists_and_nonempty
|
|
21
|
+
type: deterministic
|
|
22
|
+
description: CHANGELOG.md exists and is at least 200 chars.
|
|
23
|
+
script: |
|
|
24
|
+
import sys
|
|
25
|
+
from pathlib import Path
|
|
26
|
+
|
|
27
|
+
ctx_path = Path(sys.argv[1])
|
|
28
|
+
import json
|
|
29
|
+
ctx = json.loads(ctx_path.read_text())
|
|
30
|
+
changelog = Path(ctx["project_root"]) / "CHANGELOG.md"
|
|
31
|
+
if not changelog.exists():
|
|
32
|
+
print(f"missing: CHANGELOG.md", file=sys.stderr)
|
|
33
|
+
sys.exit(1)
|
|
34
|
+
content = changelog.read_text(encoding="utf-8")
|
|
35
|
+
if len(content) < 200:
|
|
36
|
+
print(f"only {len(content)} chars", file=sys.stderr)
|
|
37
|
+
sys.exit(1)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Deterministic: JSON schema validation
|
|
41
|
+
|
|
42
|
+
```yaml
|
|
43
|
+
schema_version: 1
|
|
44
|
+
id: output_matches_schema
|
|
45
|
+
type: deterministic
|
|
46
|
+
description: output.json has required top-level keys and correct types.
|
|
47
|
+
script: |
|
|
48
|
+
import json, sys
|
|
49
|
+
from pathlib import Path
|
|
50
|
+
|
|
51
|
+
ctx = json.loads(Path(sys.argv[1]).read_text())
|
|
52
|
+
data = json.loads((Path(ctx["project_root"]) / "output.json").read_text())
|
|
53
|
+
|
|
54
|
+
required = {"id": str, "created_at": str, "items": list}
|
|
55
|
+
for key, expected_type in required.items():
|
|
56
|
+
if key not in data:
|
|
57
|
+
print(f"missing key: {key}", file=sys.stderr)
|
|
58
|
+
sys.exit(1)
|
|
59
|
+
if not isinstance(data[key], expected_type):
|
|
60
|
+
print(f"{key} should be {expected_type.__name__}", file=sys.stderr)
|
|
61
|
+
sys.exit(1)
|
|
62
|
+
if not data["items"]:
|
|
63
|
+
print("items is empty", file=sys.stderr)
|
|
64
|
+
sys.exit(1)
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Deterministic: no forbidden tokens in source
|
|
68
|
+
|
|
69
|
+
```yaml
|
|
70
|
+
schema_version: 1
|
|
71
|
+
id: no_print_statements_in_src
|
|
72
|
+
type: deterministic
|
|
73
|
+
description: No print() calls in src/ (should use logging).
|
|
74
|
+
script: |
|
|
75
|
+
import json, re, sys
|
|
76
|
+
from pathlib import Path
|
|
77
|
+
|
|
78
|
+
ctx = json.loads(Path(sys.argv[1]).read_text())
|
|
79
|
+
src_dir = Path(ctx["project_root"]) / "src"
|
|
80
|
+
pattern = re.compile(r"\bprint\(")
|
|
81
|
+
offenders = []
|
|
82
|
+
for py_file in src_dir.rglob("*.py"):
|
|
83
|
+
text = py_file.read_text(encoding="utf-8")
|
|
84
|
+
for line_no, line in enumerate(text.splitlines(), 1):
|
|
85
|
+
if line.strip().startswith("#"):
|
|
86
|
+
continue
|
|
87
|
+
if pattern.search(line):
|
|
88
|
+
offenders.append(f"{py_file}:{line_no}")
|
|
89
|
+
if offenders:
|
|
90
|
+
print("\n".join(offenders[:10]), file=sys.stderr)
|
|
91
|
+
sys.exit(1)
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## Deterministic: counting records
|
|
95
|
+
|
|
96
|
+
```yaml
|
|
97
|
+
schema_version: 1
|
|
98
|
+
id: users_csv_has_enough_rows
|
|
99
|
+
type: deterministic
|
|
100
|
+
description: users.csv has at least 100 rows (excluding header).
|
|
101
|
+
script: |
|
|
102
|
+
import csv, json, sys
|
|
103
|
+
from pathlib import Path
|
|
104
|
+
|
|
105
|
+
ctx = json.loads(Path(sys.argv[1]).read_text())
|
|
106
|
+
path = Path(ctx["project_root"]) / "data" / "users.csv"
|
|
107
|
+
with path.open() as f:
|
|
108
|
+
reader = csv.reader(f)
|
|
109
|
+
next(reader, None) # Skip header
|
|
110
|
+
row_count = sum(1 for _ in reader)
|
|
111
|
+
if row_count < 100:
|
|
112
|
+
print(f"only {row_count} rows", file=sys.stderr)
|
|
113
|
+
sys.exit(1)
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
## Harness judge: README quality
|
|
117
|
+
|
|
118
|
+
```yaml
|
|
119
|
+
schema_version: 1
|
|
120
|
+
id: readme_has_quickstart
|
|
121
|
+
type: harness_judge
|
|
122
|
+
description: README contains a quickstart that a new user can follow in under 5 minutes.
|
|
123
|
+
instructions: |
|
|
124
|
+
Read README.md. Look for a "Quick start" or "Getting started" section.
|
|
125
|
+
Score 1 ONLY if it contains: (1) an install command, (2) a minimum
|
|
126
|
+
config step if required, and (3) at least one example command to run.
|
|
127
|
+
Score 0 if any of these are missing or unclear.
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
## Harness judge: tone / professionalism
|
|
131
|
+
|
|
132
|
+
```yaml
|
|
133
|
+
schema_version: 1
|
|
134
|
+
id: error_messages_are_helpful
|
|
135
|
+
type: harness_judge
|
|
136
|
+
description: Error messages in errors.log are helpful and professional.
|
|
137
|
+
instructions: |
|
|
138
|
+
Read errors.log. Score 1 if the error messages: (a) explain what
|
|
139
|
+
went wrong in plain language, (b) suggest what to do next, and (c) do
|
|
140
|
+
NOT expose stack traces or internal paths to end users. Score 0 if
|
|
141
|
+
any message is cryptic, blames the user, or leaks internals.
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
## Harness judge: factual consistency
|
|
145
|
+
|
|
146
|
+
```yaml
|
|
147
|
+
schema_version: 1
|
|
148
|
+
id: summary_matches_source
|
|
149
|
+
type: harness_judge
|
|
150
|
+
description: The generated summary accurately reflects the source data.
|
|
151
|
+
instructions: |
|
|
152
|
+
Read summary.md and source_data.json. Compare the claims in the summary
|
|
153
|
+
against the facts in the source data. Score 1 if every numeric claim,
|
|
154
|
+
name, and date in the summary can be verified from the source data.
|
|
155
|
+
Score 0 if ANY claim is fabricated, hallucinated, or contradicts the source.
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
## Harness judge: multi-file comparison
|
|
159
|
+
|
|
160
|
+
```yaml
|
|
161
|
+
schema_version: 1
|
|
162
|
+
id: docs_consistent_with_code
|
|
163
|
+
type: harness_judge
|
|
164
|
+
description: API docs describe the actual endpoints implemented in routes.py.
|
|
165
|
+
instructions: |
|
|
166
|
+
Read docs/api.md and src/routes.py. For each endpoint documented in the
|
|
167
|
+
API docs, check if it exists in routes.py. Score 1 if every documented
|
|
168
|
+
endpoint is implemented AND every public endpoint in routes.py is
|
|
169
|
+
documented. Score 0 if there is any drift between the two files.
|
|
170
|
+
```
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
# YAML schema reference
|
|
2
|
+
|
|
3
|
+
Complete field reference for eval-banana check definitions. Each check file defines a single check — there is no suite wrapper.
|
|
4
|
+
|
|
5
|
+
## Table of contents
|
|
6
|
+
|
|
7
|
+
- Common fields (all check types)
|
|
8
|
+
- `deterministic` fields
|
|
9
|
+
- `harness_judge` fields
|
|
10
|
+
- Validation rules
|
|
11
|
+
- Error messages and what they mean
|
|
12
|
+
|
|
13
|
+
## Common fields
|
|
14
|
+
|
|
15
|
+
| Field | Type | Required | Constraints | Notes |
|
|
16
|
+
|---|---|---|---|---|
|
|
17
|
+
| `schema_version` | int | **Yes** | Must equal `1` | No default. Omitting → validation error. |
|
|
18
|
+
| `id` | string | **Yes** | Pattern `^[a-zA-Z0-9_-]+$`, non-empty after stripping | Must be unique across ALL discovered check files |
|
|
19
|
+
| `type` | string | **Yes** | One of `deterministic`, `harness_judge` | Discriminator for the Pydantic union |
|
|
20
|
+
| `description` | string | **Yes** | Non-empty after stripping | Human-readable, shown in reports |
|
|
21
|
+
| `tags` | list[string] | No | — | Free-form metadata. Not yet used for filtering but allowed. |
|
|
22
|
+
|
|
23
|
+
`extra="forbid"` is enabled — any unknown field fails validation.
|
|
24
|
+
|
|
25
|
+
## `deterministic` check
|
|
26
|
+
|
|
27
|
+
Type-specific fields:
|
|
28
|
+
|
|
29
|
+
| Field | Type | Required | Notes |
|
|
30
|
+
|---|---|---|---|
|
|
31
|
+
| `script` | string | **One of** | Inline Python source code (use `script: \|` block scalar) |
|
|
32
|
+
| `script_path` | string | **One of** | Path to external Python file, **relative to the YAML file's directory** |
|
|
33
|
+
|
|
34
|
+
**Exactly one** of `script` or `script_path` must be set. Setting both is a validation error. Setting neither is a validation error.
|
|
35
|
+
|
|
36
|
+
### Subprocess contract
|
|
37
|
+
|
|
38
|
+
- Command: `python <script> <context_path>`
|
|
39
|
+
- `cwd`: `project_root`
|
|
40
|
+
- Environment: full parent env (no additional injection)
|
|
41
|
+
|
|
42
|
+
### `context.json` shape
|
|
43
|
+
|
|
44
|
+
Passed as `sys.argv[1]`. Always this exact shape:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"check_id": "string",
|
|
49
|
+
"description": "string",
|
|
50
|
+
"project_root": "/abs/path",
|
|
51
|
+
"source_path": "/abs/path/to/check.yaml",
|
|
52
|
+
"output_dir": "/abs/path/to/checks/<safe_check_id_stem>"
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
`output_dir` is an absolute, durable directory where the deterministic script
|
|
57
|
+
may write evidence. `<safe_check_id_stem>` is a readable label of at most 40
|
|
58
|
+
characters followed by the full SHA-256 of the exact check ID. Use the supplied
|
|
59
|
+
path directly rather than deriving a directory from `check_id`; the same stem
|
|
60
|
+
binds the check's evidence, result, prompt, stdout, and stderr artifacts while
|
|
61
|
+
keeping case-only, normalized-label, and long IDs distinct.
|
|
62
|
+
|
|
63
|
+
### Result mapping
|
|
64
|
+
|
|
65
|
+
| Outcome | Status | Score |
|
|
66
|
+
|---|---|---|
|
|
67
|
+
| Exit 0 | `passed` | 1 |
|
|
68
|
+
| Exit non-zero (includes `AssertionError`, uncaught exceptions, `sys.exit(1)`) | `failed` | 0 |
|
|
69
|
+
| `FileNotFoundError` on script itself, `OSError` | `error` | 0 |
|
|
70
|
+
|
|
71
|
+
`stdout` and `stderr` are captured on the `CheckResult` and written to
|
|
72
|
+
`<run_output_dir>/checks/<safe_check_id_stem>.stdout.txt` and `.stderr.txt`
|
|
73
|
+
(only if non-empty). The per-check result is
|
|
74
|
+
`<safe_check_id_stem>.json`.
|
|
75
|
+
|
|
76
|
+
## `harness_judge` check
|
|
77
|
+
|
|
78
|
+
Type-specific fields:
|
|
79
|
+
|
|
80
|
+
| Field | Type | Required | Notes |
|
|
81
|
+
|---|---|---|---|
|
|
82
|
+
| `instructions` | string | **Yes** | Non-empty. The evaluation prompt sent to the harness agent. |
|
|
83
|
+
| `model` | string | No | Override `harness.model` for this check only |
|
|
84
|
+
|
|
85
|
+
### Prompt shape
|
|
86
|
+
|
|
87
|
+
The runner builds a prompt with:
|
|
88
|
+
1. A fixed instruction asking for `{"score": 0|1, "reason": "..."}` JSON output
|
|
89
|
+
2. The `description` as context
|
|
90
|
+
3. The `instructions` as the evaluation criterion
|
|
91
|
+
|
|
92
|
+
The harness agent can read project files on its own — tell it which files to check in the `instructions` field.
|
|
93
|
+
|
|
94
|
+
The exact prompt is retained as
|
|
95
|
+
`<run_output_dir>/checks/<safe_check_id_stem>.prompt.txt`. It shares its stem
|
|
96
|
+
with the check result and any captured stdout or stderr.
|
|
97
|
+
|
|
98
|
+
### Required LLM response format
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{"score": 0, "reason": "one sentence explanation"}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
- `score` MUST be exactly `0` or `1`. Any other value → `error` result.
|
|
105
|
+
- `reason` is optional but recommended. If present, must be a string.
|
|
106
|
+
- Response must be valid JSON. Prose or malformed JSON → `error` result.
|
|
107
|
+
|
|
108
|
+
### Result mapping
|
|
109
|
+
|
|
110
|
+
| Outcome | Status | Score |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| Valid JSON, `score == 1` | `passed` | 1 |
|
|
113
|
+
| Valid JSON, `score == 0` | `failed` | 0 |
|
|
114
|
+
| Malformed JSON or score outside {0,1} | `error` | 0 |
|
|
115
|
+
| Harness subprocess spawn/timeout error | `error` | 0 |
|
|
116
|
+
|
|
117
|
+
## Validation rules summary
|
|
118
|
+
|
|
119
|
+
The loader raises a `ValueError` naming the file path for any of these:
|
|
120
|
+
|
|
121
|
+
- YAML parse error
|
|
122
|
+
- Top-level YAML is not a dict
|
|
123
|
+
- Any required field missing
|
|
124
|
+
- `id` doesn't match `^[a-zA-Z0-9_-]+$`
|
|
125
|
+
- `description` empty or whitespace-only
|
|
126
|
+
- Unknown top-level field (blocked by `extra="forbid"`)
|
|
127
|
+
- `type` not one of the allowed values
|
|
128
|
+
- `script` AND `script_path` both set, or neither set (deterministic)
|
|
129
|
+
- `instructions` empty (harness_judge)
|
|
130
|
+
|
|
131
|
+
The runner raises `SystemExit` for:
|
|
132
|
+
- Duplicate check IDs across files (shows both file paths)
|
|
133
|
+
- No checks found after discovery + filtering
|
|
134
|
+
- `--check-id` matches multiple files (also shows paths)
|
|
135
|
+
|
|
136
|
+
## Common validation errors
|
|
137
|
+
|
|
138
|
+
| Error text | Cause | Fix |
|
|
139
|
+
|---|---|---|
|
|
140
|
+
| `Field required [type=missing]` on `schema_version` | Forgot the field | Add `schema_version: 1` |
|
|
141
|
+
| `Extra inputs are not permitted` | Unknown field | Remove or check spelling |
|
|
142
|
+
| `script and script_path are mutually exclusive` | Both set | Remove one |
|
|
143
|
+
| `deterministic check must have script or script_path` | Neither set | Add one |
|
|
144
|
+
| `instructions must be non-empty` | Empty or missing on harness_judge | Add instructions |
|
|
145
|
+
| `id does not match pattern` | Invalid chars (dots, spaces, etc.) | Use only `[a-zA-Z0-9_-]` |
|
|
146
|
+
| `Duplicate check id 'X' found in: ...` | Same id in 2+ files | Rename one |
|