Repository navigation
#37 co-core 0.38.0: JsonExtractor, the jsonpath corpus - #56
Merged
Merged
Conversation
…ath corpus Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… 0.38.0 pin (red) refused_jsonpath and refused_xpath_on_html renamed json_jsonpath and html_xpath; unknown_essence_is_html re-pointed at application/x-unknown. The generator's refusal-listing test moves to refused_css_on_xml. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…regenerated processor_version 0.38.0+1. python-jsonpath 2.2.2 enters the lock and the contained child. Goldens regenerated co-core-direct: on the unchanged corpus exactly refused_jsonpath, refused_xpath_on_html and unknown_essence_is_html moved; with the corpus edits, only the renamed and new cases are listed, and unknown_essence_is_html keeps its v1 digest on application/x-unknown. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… name their essence Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
6 of 16 tasks
3 tasks
21 of 23 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #37 (the Watcher notice, the deploy, its live checks and the Archiver notice come after the merge).
co-core 0.37.0 → 0.38.0 on all three packages;
processor_version0.38.0+1(LOCAL_GENERATIONstays 1). Plan: docs/plans/2026-10-20-37-co-core-0.38.0.md.Catch-up reading (0.37.0 → 0.38.0, 0.37.1 between), checked in code
git diff v0.37.0 v0.38.0 -- packages/:content.process/content.derivedmodels:ContentProcessCommand(Emit),ProcessingComplete*,ProcessingFailed*,ProcessingFailureReasonare identical with docstrings stripped (AST compare). The rest ofchanges.pyis the capture pair (cannobserv#571).envelope.pyregisters the capture pair and movesinfo_item_primary_changed's key to…:occurred_at(#578);streams.pyaddsCONTENT_CAPTURE. Processor reads neither.dead_letter,exceptions,co_core_aio,co_core_sync: version strings only.canonical_text, blob store, hashing: unchanged.spec_fingerprint: serialization moved to the shared_canonical_json, samejson.dumpsarguments; nospec1:moved.JsonExtractor(#354),xpathon HTML (#557),ignore_selectorsand the uncompilable-selector refusal (#570), the dispatch map, the translator,.jsoninresolve_dispatch_essence.python-jsonpath>=2.2,<3(locks 2.2.2, runs in the contained child) andsoupsievedeclared (already present).No code change in
src/.Goldens (co-core-direct)
On
main's corpus, unchanged, 0.38.0 moves exactly three cases:Corpus edits, then the committed regeneration (
co-core 0.38.0: 12 moved, all added/removed):refused_jsonpath→json_jsonpath,refused_xpath_on_html→html_xpath(same digests as above);unknown_essence_is_htmlre-pointed atapplication/x-unknown: back on the HTML fallback, v1 digest52492823…unchanged; a test holds its essence outsideEXTRACTOR_BY_ESSENCE;json_full_page,json_vnd_api(bothd1da4585…),json_jsonpath_titles(7ac46158…, text exactlyAgenda item one\nItem two: Ask 2's narrowing),html_ignore_selectors(54fb39f5…), and refusalsrefused_empty_jsonpath,refused_jsonpath_on_html,refused_jsonpath_on_unlisted_plus_json(application/problem+json→ HTML),refused_css_on_json.Every other golden, every
spec_fingerprint, unchanged. Real corpus: 9/9 unchanged (alltext/html).Tests
test_a_case_that_starts_or_stops_being_refused_is_listedre-pointed atrefused_css_on_xml.NaN,Infinity,1e400, too-deep nesting, unpaired surrogate) and a..past python-jsonpath's depth limit raiseValueError, not a refusal; through the child, under containment, they come backraised/ValueError:, the PDF path →extraction_error, terminal.required(Landlock ABI 6).uv run pytest: 679 passed, 14 skipped (credential-file denials absent here, as onmain); ruff clean;uv lock --lockedclean.Either adoption order is safe (
resolve_dispatch_essence)D5 names it as a reason to coordinate, but Processor never calls it (
grep -rn resolve_dispatch_essence src/: none). Watcher resolves the essence on its own pin; Processor dispatches what arrives. An old Watcher keeps sending the ambiguous essence → HTML, as before. A new Watcher'sapplication/json→ HTML on today's Processor,JsonExtractorafter this bump. So: notice on CannObserv/watcher#368, not coordination.Docs
Spec: amendment 2026-10-20, D5 "today", §2, §4 refusal row, §5 pin + sub-bullet, §7 JSON coverage and pin test, quick reference, OQ2. AGENTS.md: pin, Owns (JSON).
🤖 Generated with Claude Code