PageIndex/tests
mountain ccc8b43bb7 fix: align merged hardening with dev's robustness and content fidelity
The prompt-injection hardening ported from main did not fit dev's direction
(graceful degradation + content-faithful, reasoning-based index). Adjust it:

- process_toc_no_page_numbers: a count-mismatched or reordered/renamed LLM
  response no longer raises ValueError (which aborted the entire index at the
  uncaught top-level path and defeated the return_exceptions degradation the
  rest of the pipeline uses). Skip the untrusted chunk and continue; the
  accuracy check falls back to another mode when too little gets filled.
- _secure_doc_text: drop the keyword blocklist that replaced phrases like
  "act as"/"disregard" with [REDACTED]. Those occur in legitimate titles and
  prose, so redaction corrupted document content. Keep the <user_document>
  framing + _SYSTEM_HARDENING system instruction as the injection defense.
- _validate_chunk_physical_indices: tolerate non-list input (extract_json
  returns {} on parse failure and may return a JSON object) instead of
  crashing while iterating a dict.
- Remove _validate_physical_indices / _parse_physical_index: range validation
  is already done by validate_and_truncate_physical_indices in meta_processor
  and marker->int by convert_physical_index_to_int; the helpers duplicated both.

Tests updated to assert the skip-not-raise behavior and lock in no-redaction
and non-list tolerance. 314 passed, 2 skipped.
2026-07-17 18:45:13 +08:00
..
test_agent.py fix: prompt guidance referenced fields get_document doesn't return 2026-07-10 10:53:43 +08:00
test_architecture.py refactor(sdk): typed returns, protocol contract, parser layering 2026-07-07 12:15:34 +08:00
test_client.py fix: default SDK retrieve_model to gpt-5.4 instead of following model 2026-07-16 16:09:07 +08:00
test_cloud_backend.py fix: enforce collection membership on cloud query doc_ids 2026-07-16 14:40:19 +08:00
test_collection.py fix: six P2 correctness/robustness cleanups from the SDK review 2026-07-07 11:34:13 +08:00
test_concurrency.py fix: resolve concurrency and DoS pitfalls from PR #272 review 2026-07-10 14:49:55 +08:00
test_config.py fix: default SDK retrieve_model to gpt-5.4 instead of following model 2026-07-16 16:09:07 +08:00
test_content_node.py feat: add PageIndex SDK with local/cloud dual-mode support (#207) 2026-04-08 20:21:58 +08:00
test_env_compat.py fix: exact md page selection + restore CHATGPT_API_KEY alias 2026-07-08 17:33:41 +08:00
test_errors.py feat:compatible with Pageindex SDK (#238) 2026-05-11 21:06:23 +08:00
test_events.py fix: enforce collection membership on cloud query doc_ids 2026-07-16 14:40:19 +08:00
test_issue_163.py merge upstream/main into dev; port #188 into the index pipeline 2026-07-07 16:34:02 +08:00
test_legacy_sdk_contract.py fix: empty-list scope, get_tree bool casing, md fence tracking; dedupe base URL 2026-07-10 11:17:20 +08:00
test_legacy_shims.py docs: correct stale config.yaml claims and CLI help default 2026-07-14 17:49:55 +08:00
test_legacy_utils_contract.py fix: six P2 correctness/robustness cleanups from the SDK review 2026-07-07 11:34:13 +08:00
test_local_backend.py fix: harden indexing and query paths against malformed inputs 2026-07-16 06:20:36 +08:00
test_markdown_parser.py fix: empty-list scope, get_tree bool casing, md fence tracking; dedupe base URL 2026-07-10 11:17:20 +08:00
test_page_content.py fix: resolve concurrency and DoS pitfalls from PR #272 review 2026-07-10 14:49:55 +08:00
test_page_index.py fix: align merged hardening with dev's robustness and content fidelity 2026-07-17 18:45:13 +08:00
test_page_index_md.py Merge upstream/main into dev; port hardening into index/ 2026-07-17 18:11:14 +08:00
test_pdf_parser.py fix: CMYK image drop, empty-doc crash, page_index shadowing, sqlite hardening, flaky tests 2026-07-09 11:58:59 +08:00
test_pipeline.py fix: harden indexing and query paths against malformed inputs 2026-07-16 06:20:36 +08:00
test_review_fixes.py feat(cli): accept both bare flags and legacy yes/no for --if-add-* args 2026-07-08 19:11:52 +08:00
test_review_fixes_2.py fix: CMYK image drop, empty-doc crash, page_index shadowing, sqlite hardening, flaky tests 2026-07-09 11:58:59 +08:00
test_review_fixes_3.py fix: address xhigh review findings for PR #272 2026-07-16 01:31:57 +08:00
test_review_fixes_4.py fix: harden indexing and query paths against malformed inputs 2026-07-16 06:20:36 +08:00
test_sqlite_storage.py fix: resolve concurrency and DoS pitfalls from PR #272 review 2026-07-10 14:49:55 +08:00
test_storage_protocol.py feat: add PageIndex SDK with local/cloud dual-mode support (#207) 2026-04-08 20:21:58 +08:00
test_types.py fix: CMYK image drop, empty-doc crash, page_index shadowing, sqlite hardening, flaky tests 2026-07-09 11:58:59 +08:00