Skip to content

docs: scripts catalog, recall quality lab guide, and 0.16.0 migration runbook - #199

Merged
jack-arturo merged 3 commits into
mainfrom
docs/0.16.0-readiness
Jun 26, 2026
Merged

docs: scripts catalog, recall quality lab guide, and 0.16.0 migration runbook#199
jack-arturo merged 3 commits into
mainfrom
docs/0.16.0-readiness

Conversation

@jack-arturo

Copy link
Copy Markdown
Member

What

Establishes a single in-repo source of truth for scripts and 0.16.0 documentation. Previously, scripts were scattered across five surfaces with no index, and the new entity/lab tooling had zero prose.

Changes

  • scripts/README.md — canonical catalog of every script grouped by lifecycle (routine / one-time / recovery / dev / bench / lab), with usage notes and links to deep dives
  • docs/RECALL_QUALITY_LAB.md — full clone → queries → test → compare → sweep harness workflow, end to end
  • docs/MIGRATIONS.md — new "Upgrading to 0.16.0" runbook covering entity nodes, tag prefixes, relevance rescore, type cleanup, and the MCP SQLite import the README was already pointing here for
  • CLAUDE.md — slimmed the ~80-line Utility Scripts block down to a catalog pointer
  • README.md — linked the catalog under Operations
  • Archived scripts/lab/summarize_pipeline_20260611.py (dated one-off, no longer needed)

Why

0.16.0 ships meaningful changes to entity nodes and recall quality tooling. Without docs, contributors and future-us would have to reverse-engineer it from scripts. This closes that gap before the release.

jack-arturo and others added 3 commits June 22, 2026 17:05
- CLAUDE.md: rewrite the API surface (blueprint-based, ~31 paths; app.py has no routes) and correct consolidation intervals to Daily/Weekly/Monthly/disabled, matching the env block and README
- README.md: add a Known Limitations section (#130 tag-gate, #158/#159 temporal, #172 SSE state_mode, #181 entity noise)
- ENVIRONMENT_VARIABLES.md: document QDRANT_ENSURE_PAYLOAD_INDEXES and RECALL_ADAPTIVE_FLOOR; mark SEARCH_WEIGHT_RELEVANCE experimental (0.0 = no-op)
- INSTALLATION.md, RAILWAY_DEPLOYMENT.md: refresh image-pin examples to v0.16.0

Defers default-flip decisions (recency_bias, relevance_gate), version plumbing, and POSITIONING.md benchmark numbers to the post-AMB-results pass. POSITIONING.md v0.15.2 stamps left intact (benchmark provenance).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
reembed_embeddings.py imported automem.config at module level without the
sys.path bootstrap its sibling scripts use, so the documented
`python scripts/reembed_embeddings.py` failed from the repo root with
ModuleNotFoundError: No module named 'automem'. Add the same
PROJECT_ROOT/sys.path.insert guard already used by backfill_tag_prefixes.py,
migrate_entity_nodes.py, backup_automem.py, and lab/repair_entity_tags.py.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tions

Scripts were documented across five surfaces with no index, and the 0.16.0
lab/entity tooling had no prose at all. Establish a single in-repo source of
truth and wire discoverability:

- scripts/README.md: canonical catalog of every script grouped by lifecycle
  (routine/one-time/recovery/dev/bench/lab), with usage and links to deep dives
- docs/RECALL_QUALITY_LAB.md: the clone -> queries -> test -> compare -> sweep
  harness workflow, end to end
- docs/MIGRATIONS.md: add an "Upgrading to 0.16.0" runbook (entity nodes, tag
  prefixes, relevance rescore, type cleanup) plus the MCP SQLite import the
  README already pointed here for
- CLAUDE.md: slim the ~80-line Utility Scripts block to a catalog pointer
- README.md: link the catalog under Operations
- archive scripts/lab/summarize_pipeline_20260611.py (dated one-off)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: f20c664c9e

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread docs/MIGRATIONS.md
Comment thread scripts/README.md
@jack-arturo

Copy link
Copy Markdown
Member Author

@codex can you fix these?

@chatgpt-codex-connector

Copy link
Copy Markdown

Summary

  • Corrected the 0.16.0 migration runbook to document the actual repair_entity_tags.py workflow: dry-run planning with --mode canonicalize-safe, applying with --execute --plan <plan.jsonl>, and rolling back with --rollback <rollback.jsonl>. docs/MIGRATIONS.mdL214-L218
  • Updated the recovery scripts catalog to use the real deduplicate_qdrant.py confirmation flag, --yes, instead of the nonexistent --auto-confirm. scripts/README.mdL96-L100
  • Updated the lab scripts catalog entry for repair_entity_tags.py to show the valid dry-run planning modes and the separate execute/rollback flags. scripts/README.mdL135-L140

Testing

  • python scripts/lab/repair_entity_tags.py --help >/tmp/repair_help.txt
  • python scripts/deduplicate_qdrant.py --help >/tmp/dedupe_help.txt
  • rg -- '--mode audit|--mode execute|--mode rollback|--auto-confirm' docs/MIGRATIONS.md scripts/README.md || true
  • git diff --check

Committed changes with 3dae84d and created a follow-up PR titled docs: fix migration script flags.

View task →

@jack-arturo
jack-arturo merged commit f190ae5 into main Jun 26, 2026
7 checks passed
@jack-arturo
jack-arturo deleted the docs/0.16.0-readiness branch June 26, 2026 04:51
jack-arturo added a commit that referenced this pull request Jun 26, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.16.0](v0.15.2...v0.16.0)
(2026-06-26)


### Features

* **api:** add admin backup endpoint
([#162](#162))
([8b1f264](8b1f264))
* **api:** support bulk memory associations
([1221e36](1221e36))
* **api:** support bulk memory associations
([#198](#198))
([28eb916](28eb916))
* **benchmarks:** LongMemEval failure-mode diagnosis harness + judge
quota preflight
([#183](#183))
([f99bece](f99bece))
* **consolidation:** expose cluster threshold and min size as env vars
([#163](#163))
([7e731f3](7e731f3))
* **enrichment:** expose classification fallback-rate metrics in
/enrichment/status
([#188](#188))
([0b522a9](0b522a9))
* **entity:** harden identity cleanup and repair tooling
([#176](#176))
([827dfbc](827dfbc))
* **eval:** recall-quality optimization harness — lab foundation +
design ([#197](#197))
([431433e](431433e))
* **graph:** support unbounded visualizer snapshots
([#141](#141))
([c730128](c730128))
* **lab:** add aged labelled distractor injection
([cc5d546](cc5d546))
* **lab:** add config_complexity simplicity metric
([dfb10d9](dfb10d9))
* **lab:** add distractor_rate_at_k precision guardrail metric
([872eab2](872eab2))
* **lab:** add lab_corpus with parameterized recall
([5e1e071](5e1e071))
* **lab:** add pick_winner scorecard decision rule
([3187eac](3187eac))
* **lab:** add real consolidation pass helper
([48a7d4a](48a7d4a))
* **lab:** isolate production clone restores
([#171](#171))
([aef90c0](aef90c0))
* **lab:** wire scorecard, distractors, recall params, consolidation
into runner
([589ec30](589ec30))
* **recall:** add metadata sidecar search
([#177](#177))
([4e7956e](4e7956e))
* **recall:** add state_mode=current|history recall alias
([#173](#173))
([b1df86c](b1df86c))
* **recall:** cap tag-score denominator to fix query-length bias
([#193](#193))
([cefa516](cefa516))
* **recall:** date-aware ranking + latest-fact selection
([#158](#158),
[#159](#159))
([#187](#187))
([a6ed945](a6ed945))
* **recall:** make recency decay window and curve configurable
([#182](#182))
([dbb933f](dbb933f))
* **recall:** ranking release — recency config, tag-score cap, relevance
gate, date-aware ranking
([#182](#182),
[#193](#193),
[#186](#186),
[#187](#187),
[#183](#183),
[#184](#184),
[#188](#188))
([#194](#194))
([337fe98](337fe98))
* **scripts:** safer reclassify_with_llm.py with provider flags +
tighter prompt
([#164](#164))
([a742602](a742602))


### Bug Fixes

* **api:** address copilot review on PR
[#198](#198)
([0466a1e](0466a1e))
* **api:** handle grouped association write failures
([cd93df9](cd93df9))
* **backup:** make backup_automem.py runnable as `python
scripts/backup_automem.py`
([#175](#175))
([edd9742](edd9742))
* **benchmarks:** add publication verification bundle
([#166](#166))
([420d721](420d721))
* **consolidation:** skip eager first tick at startup to avoid FalkorDB
load race
([#165](#165))
([1b812cf](1b812cf))
* **docs:** keep dispatch payload arrays stable
([df6e9e8](df6e9e8))
* **embedding:** fall back to per-item real embeddings before
placeholders in batch path
([#189](#189))
([6e9c62c](6e9c62c))
* **entity:** restore person-shape exemption on the slug validation path
([#179](#179))
([5e29960](5e29960))
* **entity:** stop validator over-rejecting real people, code tools, and
event categories
([#178](#178))
([193b730](193b730))
* **lab:** address copilot review on PR
[#197](#197)
([45f80d6](45f80d6))
* **lab:** align scorecard key contract (build_scorecard -&gt;
pick_winner)
([7d91530](7d91530))
* **mcp-sse:** decouple /health liveness from upstream readiness
([#151](#151))
([5bcfb8b](5bcfb8b))
* **mcp:** cap association failure summary
([ea4e08f](ea4e08f))
* **mcp:** surface stored metadata and updated_at in detailed recall
format ([#184](#184))
([230416e](230416e))
* **recall:** address copilot review on PR
[#194](#194)
([50b1647](50b1647))
* **recall:** canonicalize / and : separators in context_tag matching
([3afd9d3](3afd9d3))
* **recall:** canonicalize / and : separators in context_tag matching
([#203](#203))
([ba5e9ff](ba5e9ff))
* **recall:** gate query-independent scoring on topical evidence within
tag scope
([#130](#130))
([#186](#186))
([c11b594](c11b594))
* **recall:** hydrate semantic recall summaries
([#192](#192))
([76e845d](76e845d))
* **recall:** normalize graph keyword scores into the 0-1 component
range ([#191](#191))
([3653ddf](3653ddf))
* **recall:** respect current memory state
([#170](#170))
([ed36b98](ed36b98)),
closes [#169](#169)
[#158](#158)
[#159](#159)
* **scripts:** add sys.path guard to reembed_embeddings.py
([d333cf0](d333cf0))


### Documentation

* add scripts catalog, recall-quality-lab guide, and 0.16.0 migrations
([f20c664](f20c664))
* **bench:** log full judged 500q LongMemEval ship-config run with churn
attribution
([41bf8d0](41bf8d0))
* **eval:** Plan A — lab metric foundation (TDD, 9 tasks)
([0087dda](0087dda))
* **eval:** Plan B — parallel matrix harness (TDD, 9 tasks)
([c8ddfb2](c8ddfb2))
* **evals:** mark Memora/FAMA/WRIT lifecycle diagnostics as
diagnostic-only
([#174](#174))
([e8a3285](e8a3285))
* **eval:** spec for recall-quality optimization harness
([b1a1995](b1a1995))
* fix stale claims and document gated flags for 0.16.0
([b152d64](b152d64))
* note develop-branch contribution policy in README
([ccf02dd](ccf02dd))
* **positioning:** add scout reference
([#168](#168))
([922d23b](922d23b))
* refresh benchmark currency for the neutral AMB run and prune stale
archive docs
([3ff95bd](3ff95bd))
* refresh benchmark currency for the neutral AMB run and prune stale
archive docs
([#204](#204))
([89c30e0](89c30e0))
* refresh README and benchmark guidance
([#157](#157))
([bba31cc](bba31cc))
* **runtime:** align Docker viewer paths and setup guidance
([#155](#155))
([bbda79b](bbda79b))
* scripts catalog, recall quality lab guide, and 0.16.0 migration
runbook ([#199](#199))
([f190ae5](f190ae5))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant