This file is a handoff note for continuing work from the Codex CLI without re-discovering repo state.
- Path:
/Users/gaurav/Documents/PersonalProjects/schema-lens - Current branch at handoff:
ops/use-gemini-runtime-b3e0aba-1772611103 - Worktree state: dirty, with many staged-equivalent local modifications and new files not yet committed
- Important rule: do not revert unrelated changes; continue from current worktree
The repo already includes substantial implementation beyond the original MVP:
- Core CLI pipeline exists:
validateinspectshadow createshadow indexreplaycomparereportrun
- Production realism features exist:
- schema preflight / dependency risk
- query log extraction
- Solr doc sampling
- structured explain support
- quality gate
- Usability and CI features exist:
- snapshot support
- golden queries/docs
- facet / numFound / sort diffs
- CI summarize
- Synonym / query rewrite work exists
- Vector / hybrid simulation exists
- New parallel-program track packages were added:
schema_lens/perf/schema_lens/rootcause/schema_lens/recommend/schema_lens/env_compare/schema_lens/dashboard/schema_lens/monitor/schema_lens/ltr/
Two issues were resolved in the vector/hybrid path:
-
KNN requests were incorrectly inheriting lexical parser settings.
- Fixed in
schema_lens/vector/query_builder.py defType=edismaxis no longer passed into vector-only KNN requests- JSON request filters are propagated to vector requests as
fq
- Fixed in
-
Hybrid normalized blending collapsed single-doc lexical results to zero contribution.
- Fixed in
schema_lens/vector/blend.py - zero-variance normalization now returns
1.0per present doc instead of0.0 - this restored real weight sensitivity and fixed the vector smoke test
- Fixed in
Regression coverage for this was added in:
tests/test_hybrid_blend.py
These were run successfully from the current worktree:
cd /Users/gaurav/Documents/PersonalProjects/schema-lens
.venv/bin/ruff check .
.venv/bin/pytest -q -m 'not integration'
/bin/zsh -lc 'RUN_SCHEMA_LENS_SMOKE=1 .venv/bin/pytest -q tests/integration/test_vector_hybrid_smoke.py'
/bin/zsh -lc 'RUN_SCHEMA_LENS_SMOKE=1 .venv/bin/pytest -q -m integration'Result at handoff:
- lint: passing
- unit tests: passing
- Docker integration suite: passing
- vector hybrid smoke: passing
The local SolrCloud demo stack is already wired and was used successfully:
cd /Users/gaurav/Documents/PersonalProjects/schema-lens
make dev-up
docker compose -f examples/solrcloud-docker/docker-compose.yml psExpected Solr endpoint:
http://localhost:8983/solr
schema_lens/cli.pyschema_lens/report/json_report.pyschema_lens/report/templates/report.html.j2docs/architecture.mdREADME.mddocs/changeset-spec.md
schema_lens/perf/schema_lens/rootcause/schema_lens/recommend/schema_lens/env_compare/schema_lens/dashboard/schema_lens/monitor/schema_lens/ltr/schema_lens/vector/
schema_lens/solr/endpoints.pyschema_lens/solr/admin_api.pyschema_lens/solr/query_api.py
scripts/setup_vector_demo.pyexamples/changesets/vector-hybrid-demo.yamlexamples/queries/procurement_vector_queries.jsonlexamples/vectors/embeddings_small.jsonlexamples/solrcloud-docker/configsets/products_vector/conf/managed-schema.xml
examples/changesets/perf_estimator_example.yamlexamples/policy/perf_gate_default.yamlexamples/envs/prod_us.yamlexamples/envs/prod_eu.yamlexamples/queries/procurement_perf_queries.jsonlexamples/queries/env_compare_queries.jsonl
There are many modified and untracked files. Treat the repo as an in-progress feature branch, not a clean baseline.
Representative modified files:
Makefilepyproject.tomlschema_lens/changesets/model.pyschema_lens/changesets/validator.pyschema_lens/ci/summarize.pyschema_lens/compare/diff.pyschema_lens/compare/gate.pyschema_lens/compare/rewrite_diff.pyschema_lens/queries/loader.pyschema_lens/queries/model.pyschema_lens/queries/normalize.pyschema_lens/replay/runner.pytests/test_changeset_validator.pytests/test_query_loader.py
Many new directories are untracked and should likely be committed together as one logical batch after review.
If continuing from CLI, the safest sequence is:
- Inspect diff scope:
cd /Users/gaurav/Documents/PersonalProjects/schema-lens
git status --short
git diff --stat- Re-run fast validation after any edits:
.venv/bin/ruff check .
.venv/bin/pytest -q -m 'not integration'- Re-run Docker integration before commit:
make dev-up
/bin/zsh -lc 'RUN_SCHEMA_LENS_SMOKE=1 .venv/bin/pytest -q -m integration'-
Review docs for consistency with the actual CLI surface:
README.mddocs/changeset-spec.mddocs/architecture.md
-
Commit in one or more logical slices, but avoid partial commits that leave report/CLI/test contracts inconsistent.
If you want cleaner history, split into:
contract/report/docssliceperf/rootcause/recommendsliceenv_compare/dashboard/monitor/ltrslicevector/hybrid fixes + testsslice
If speed matters more than history quality, one validated commit is acceptable.
- Network access may be restricted in the environment
- Some localhost / Docker-backed tests may require running outside the sandbox
- Docker-based Solr validation is important; many features are not meaningfully verified by unit tests alone
- Do not assume the repo is on
main; it is not at handoff
cd /Users/gaurav/Documents/PersonalProjects/schema-lens
.venv/bin/ruff check .
.venv/bin/pytest -q -m 'not integration'
make dev-up
/bin/zsh -lc 'RUN_SCHEMA_LENS_SMOKE=1 .venv/bin/pytest -q -m integration'cd /Users/gaurav/Documents/PersonalProjects/schema-lens
make dev-up
make demo-setup
.venv/bin/solrguard run examples/changesets/prod_realism_example.yaml --out out/prod_like_run
.venv/bin/python scripts/setup_vector_demo.py
.venv/bin/solrguard run examples/changesets/vector-hybrid-demo.yaml --out out/vector_demo --enable-sensitivityout/integration_vector/report.jsonout/integration_vector/report.htmlout/integration_vector/compare.jsonout/integration_vector/hybrid_sensitivity.json
At handoff, the implementation is in a materially better state than the original plan baseline:
- the broad feature surface exists
- tests are green
- Docker integration is green
- the latest vector/hybrid regression was fixed
The main remaining work is likely cleanup, commit structuring, final docs consistency review, and any next feature pack the user chooses.