Projection and navigation core for context graphs: bounded, ranked, provenance-carrying reads (schema / state / relevance / show) over any cjm-substrate context graph, with a CLI driver. The agent-facing read layer of the self-hosting graph arc.
Project description
cjm-context-graph-projection
Projection and navigation core for context graphs: bounded, ranked, provenance-carrying reads (schema / state / relevance / show) over any cjm-substrate context graph, with a CLI driver. The agent-facing read layer of the self-hosting graph arc.
Modules
cjm_context_graph_projection.__init__cjm_context_graph_projection.authoring— The B write surface: AUTHOR a verbatim-text slot on-graph, emit the canonical artifact.cjm_context_graph_projection.cli— Thecjm-context-graphCLI — first driver of the projection core.cjm_context_graph_projection.code_edges— Orphaned code-target edge detector: journaled links whose endpoint no longer resolves.cjm_context_graph_projection.cohesion— Module cohesion audit over the code graph — the read-only cohesion ORACLE (N+1).cjm_context_graph_projection.contradictions— The standing dedup query: slots whose ACTIVE assertions disagree.cjm_context_graph_projection.conventions— Structural convention audit over the code/notebook graph (the enforcement nbdev lacks).cjm_context_graph_projection.devgraph— Build the dev graph's nodes + edges from its sources (the dev-graph DRIVER).cjm_context_graph_projection.display— Graph-carried display rules: the presentation vocabulary (DEC16bcd96e).cjm_context_graph_projection.explorer_page— The graph EXPLORER client page — the first client of theservedata API.cjm_context_graph_projection.factlayer— Shared fine-tier reads over the fact-layering schema (slots + assertions).cjm_context_graph_projection.journal— The write journal: the durable, replayable source of truth for born-on-graph writes.cjm_context_graph_projection.listing— Structured enumeration: every node of a LABEL / assertion of a PREDICATE / edge of a RELATION.cjm_context_graph_projection.module_ops— Module-edit ops — create / rename / delete / regroup a module as graph edge ops.cjm_context_graph_projection.onboarding— Project the MEMORY onboarding surface from the dev graph (the dev driver).cjm_context_graph_projection.oracle— The version oracle: a programmatic Procedure that keepsversionslots fresh.cjm_context_graph_projection.projection— The projection core: schema / show / relevance / state over a context graph.cjm_context_graph_projection.readiness— The readiness frontier: which work-items are READY vs BLOCKED — derived, never stored.cjm_context_graph_projection.readme— README-as-projection (v1, STRUCTURAL-ONLY): generate a repo's README FROM THE GRAPH.cjm_context_graph_projection.reconcile— M2b shadow-phase RECONCILE — surface + (explicitly) absorb out-of-band.mdedits.cjm_context_graph_projection.refactor— Refactoring-candidate identification over the code graph (the IDENTIFY half of move).cjm_context_graph_projection.refactor_ops—move— relocate a symbol between modules (the EXECUTE half of refactor-candidates).cjm_context_graph_projection.registers— Register drift-check: each hub note's member-cache vs the activeroleassertions.cjm_context_graph_projection.rename_ops— Symbolrename— the Ext-B increment: scoped identifier substitution INTO bodies.cjm_context_graph_projection.render— Render projection results for a consumer: agent (JSON) or human (markdown).cjm_context_graph_projection.runtime— Open a context graph for reading/writing (domain-neutral runtime wiring).cjm_context_graph_projection.seeds— Hand-seeded load-bearing slots + the rename-stable repo-key machinery.cjm_context_graph_projection.serve— A served, read-only graph EXPLORER data API over the read verbs — the richer-viz INSTRUMENT.cjm_context_graph_projection.source_state— N+3 Phase 1 (SHADOW): capture a module's canonical source into a SOURCE journal andcjm_context_graph_projection.structure— M2a GRADIENT — structural memory authoring: create a note / add a section, born on-graph.cjm_context_graph_projection.viz— A minimal READ-ONLY visualization: the readiness frontier + its dependency DAG, as HTML.cjm_context_graph_projection.worklist— The propose/confirm worklist: candidate fixes that need a human decision.cjm_context_graph_projection.write— The write surface:asserta slot value,decidea conclusion.tests.test_add_symbol_router— add-symbol (the authoring CREATE leg) + the nested-symbol edit router, over a faketests.test_authoring_units— Pure authoring helpers — slot routing + the apply split (no graph needed).tests.test_cli_m3_smoke— CLI dispatch smoke form3-baseline— guards the import wiring the unit tests can't see.tests.test_code_edges— Orphaned code-target edges: pure classification + render (no graph needed).tests.test_cohesion— Module cohesion audit (pure compute over code-graph slices).tests.test_conventions_resolve— Cross-corpus CALLS/IMPORTS resolution + the structural convention audit (pure cores).tests.test_devgraph— Repo-map extraction: pyproject dep parsing + Entity nodes / DEPENDS_ON edges.tests.test_display— The display seam: template grammar, first-clause extractor, cascade, rule rendering.tests.test_flip_to_py— The golden-reference flip (notebook -> plain .py, ONE LOUD VERB): retire-op journaltests.test_journal— The write journal: append (with de-dup) + read, the pure half (no graph).tests.test_listing— Structured enumeration: thelistmode-selection guard + its render (no graph needed).tests.test_module_ops— Pure-helper tests for the module-edit ops (rewrite_module_import + import-name derivation).tests.test_projection_units— Pure projection helpers + rendering (no graph needed).tests.test_readiness— The readiness frontier: pure derivation (classify) + its render (no graph needed).tests.test_readme— README-as-projection v1 (structural-only): the API surface, deps, and on-graph purpose.tests.test_refactor— Refactoring-candidate identification (pure compute over code-graph slices).tests.test_refactor_ops— Import rewriting for themoveop (the callerfrom A import S->from B import S).tests.test_registers— Register drift-check: pure reconciliation (classify) + its render (no graph needed).tests.test_rename_ops— Scope-aware identifier rename (the Ext-B crux) + the importer-rewrite helper.tests.test_seeds_render— Pure pieces of the Inc 3 surface: rename-stable keys, seed shape, render.tests.test_source_state— N+3 source-state: canonical emit fixpoint + the shadow source journal + soak checktests_manual.authoring— Authoring-on-graph dogfood: the B write surface (the make-or-break increment).tests_manual.code_on_graph— Code-on-graph dogfood: decompose the arc libs' own.pyand prove the cross-link.tests_manual.divergence_probe— Section-grain divergence probe — the read-only down-payment toward the file<->graphtests_manual.inc3_first_slice— Inc 3 DoD: the first-slice-complete cut, validated end-to-end through real storage.tests_manual.inc4_dogfood— Inc 4 dogfood loop: confirm an alias -> heal the reference -> resurface, end-to-end.tests_manual.journal_rebuild— Migration discipline: the db is a REBUILDABLE PROJECTION of (corpus+repo+seeds+journal).tests_manual.m2b_shadow— M2b phase-1 (SHADOW) dogfood: thesectionjournal verb +reconcile-memory.tests_manual.m3_cutover— M3 CUTOVER thin-slice harness — demonstrate the 6-item cutover DoD (decision 2f5222ab).tests_manual.module_ops— Module-edit-ops dogfood: create / regroup / rename / delete a module as graph edge ops.tests_manual.move—movedogfood: relocate a symbol across modules as a graph-driven refactor.tests_manual.rename— Symbol-renamedogfood: the Ext-B increment — scoped identifier substitution INTO bodies.tests_manual.session_start_sequence— Inc 2 DoD: the canonical session-start sequence orients on a real task.tests_manual.structure— M2 GRADIENT dogfood: structural memory authoring (new-note+add-section).tests_manual.viz— Minimal read-only VIZ projector — the readiness frontier + dependency DAG as self-contained HTML.
API
cjm_context_graph_projection.authoring
add_symbolfunction — Mint a NEW top-level CodeSymbol into a module, then emit its canonical artifact.authorfunction — Author a node's verbatim-text slot, then emit its canonical artifact to disk.emit_artifactfunction — Emit a container's canonical artifact FROM THE GRAPH (graph -> .py / .ipynb / .md).file_section_rawsfunction — Each of a note's sections'rawspan as the FILE currently decomposes (the othergraph_section_rawsfunction — Each of a note's sections' on-graphrawspan, keyed by anchor (the divergence/read_nodefunction — Deliver a node's verbatim CONTENT — the read DUAL ofauthor/emit.read_slotfunction — Read a node's current verbatim-slot text (the--editorpop / preview input).section_divergencefunction — Read-only: detect, at SECTION grain, where a note's.mdhas drifted from the graph.
cjm_context_graph_projection.cli
mainfunction
cjm_context_graph_projection.code_edges
classify_orphaned_linksfunction — Pure: the journaled links the next replay will silently drop.orphaned_edgesfunction — The derived orphan report over journallinkops + the current graph.
cjm_context_graph_projection.cohesion
cohesionfunction — Audit module cohesion: grab-bag (under_split) + scattered-helper (over_split) candidates.compute_cohesionfunction — Compute module cohesion candidates from the code graph slices (pure).
cjm_context_graph_projection.contradictions
contradictionsfunction — All slots whose active assertions form a hard contradiction (optionally scoped).
cjm_context_graph_projection.conventions
compute_conventionsfunction — Compute convention findings from CodeSymbol nodes + the documented-id set (pure).compute_untestedfunction — The untested-symbol audit (pure): every public top-level PACKAGE symbol (testconventionsfunction — Audit notebook-sourced symbols for missing prose/docstrings + non-granular cells,
cjm_context_graph_projection.devgraph
build_dev_graph_elementsfunction — Assemble the full dev graph: memory notes (+ refs), the repo map (+ deps),code_elementsfunction — Decompose each repo's importable package into code nodes + edges.memory_elementsfunction — Decompose every memory markdown file (except MEMORY.md) into graph elements.notebook_elementsfunction — Decompose each repo's nbdev notebooks into code/cell nodes + edges.notes_corpus_elementsfunction — Decompose an arbitrary<dir>/index.mdmarkdown corpus into graph elements.repo_map_elementsfunction — One repo Entity per cjm-* repo (RENAME-STABLE keys) + DEPENDS_ON from pyproject.resolve_corpus_code_edgesfunction — Resolve CALLS/IMPORTS edges ACROSS the whole code + notebook corpus.resolve_test_edgesfunction — Resolve TESTS edges across the corpus (the code<->test link).test_elementsfunction — Decompose each repo's pytest / manual test files into code nodes + edges.
cjm_context_graph_projection.display
Displayerclass — The rule interpreter: loads a graph's DisplayRules once, then batch-annotates.annotate_displayfunction — Load this graph's rules + annotatenodes(the one-call seam for read verbs).display_rule_node_idfunction — Deterministic DisplayRule id — one rule per kind, so re-authoring converges.first_clausefunction — A long statement's leading clause — the Decision-title extractor.node_titlefunction — Best display label for a node: the stored/cascade tiers of the resolution order.parse_templatefunction — Parse a display template into literal / property / edge parts.set_display_rulefunction — Author/update the graph-carried DisplayRule for a kind (presentation vocabulary).
cjm_context_graph_projection.factlayer
active_assertionsfunction — The active assertions in a slot under append-only supersession.alias_indexfunction — Build the entity alias index + an id->entity lookup (rename-stable subjects).count_labelfunction — Count nodes of a label (optionally predicate-filtered) —NodeQuery(count=True).group_by_slotfunction — Group assertion nodes by theirslot_idproperty.load_assertionsfunction — All Assertion nodes.load_contradictsfunction — All CONTRADICTS pairs already recorded (for write idempotency / reporting).load_edge_pairsfunction — All (source, target) pairs for an edge relation type.load_labelfunction — All nodes of a label (bounded bylimit).load_label_wherefunction — Nodes of a label filtered by property predicates, SERVER-SIDE (NodeQuery.where).load_nodesfunction — Batch-fetch nodes by id in ONE worker round-trip (NodeQuery.ids).load_supersedesfunction — All SUPERSEDES (superseder, superseded) pairs (the resolve_active input).nidfunction — A node's id (typed GraphNode or wire dict).note_alias_mapfunction — Confirmed note aliases as a {drifted-slug: canonical-slug} map.propfunction — One property value off a node.propsfunction — A node's properties dict (typed GraphNode or wire dict).
cjm_context_graph_projection.journal
append_writefunction — Append one write op (skipping an exact (verb,args) duplicate).journal_sourced_note_pathsfunction — The memory.mdfilesingestmust NOT read — they're journal-sourced now.m3_baseline_importfunction — One-time M3 GENESIS IMPORT: emit a per-notenew-notebaseline op into the journal.read_journalfunction — Read every journaled write op (one JSON object per line; missing file = []).replay_journalfunction — Re-apply every journaled write through its core verb (idempotent).
cjm_context_graph_projection.listing
list_graphfunction — Enumerate one CLASS of the graph: nodes by label / assertions by predicate / edgesparse_wherefunction — Parse--where PROP=VALUEclauses into property predicates (opeq, AND).
cjm_context_graph_projection.module_ops
delete_modulefunction — Delete a module — drop its file and its whole graph subtree. Guarded: refuses whileflip_notebook_to_pyfunction — The golden-reference flip, ONE LOUD VERB (DEC b2c5363d): notebook -> plain.py.new_modulefunction — Mint an empty CodeModule node (the target aregroup/movepopulates).regroupfunction — Gather symbols into a module — the EXECUTE verb for anunder_split(extract arename_modulefunction — Rename a.pymodule — re-emit its content at the new path, drop the old file, andrewrite_module_importfunction — Rewrite a module-RENAME across an importer: everyfrom old import …and
cjm_context_graph_projection.onboarding
project_onboardingfunction — Project the onboarding surface from the graph'sNotenodes + the dev seeds.
cjm_context_graph_projection.oracle
procedure_nodefunction — The oracle's Procedure node (the programmatic value-source for its assertions).read_repo_versionfunction — Read a repo's version: installed metadata first, else__version__on disk.run_version_oraclefunction — Refreshversionslots for repo entities; report what changed.
cjm_context_graph_projection.projection
ambiguity_errorfunction — One-line error naming the candidates, so the caller's next call can be exact.explorefunction — Descend into one cluster of a query: its members, BOUNDED, re-faceting if large.find_seedsfunction — Find seed nodes by term overlap with their text fields (accept misses).get_schemafunction — The graph's ontology: node labels, edge types, per-label counts.graph_overviewfunction — The whole-graph orientation view — the facets of the DEFAULT (empty) query.grepfunction — Exact-substring CONTENT search over every node's text fields — the literal third leg.locatefunction — Resolve a human HANDLE to node(s) + their on-disk path — the inverse ofshow.node_summaryfunction — Compact, provenance-carrying summary of a node (the unit of a bounded read).relevantfunction — The bounded level-0 pull: the full reached set's SHAPE + a top-k teaser.resolve_node_reffunction — Resolve a node reference: exact id first, then unique id-prefix.showfunction — One node in full, with its immediate neighbours + the relation to each.statefunction — Graph overview (no subject) or a subject's effective view (show).
cjm_context_graph_projection.readiness
classify_readinessfunction — Pure: partition work-items into done / ready / blocked from authored ground truth.readinessfunction — The derived ready/blocked/done frontier over authoredtask_state+GATED_BYedges.summarize_checksfunction — Pure: per-item DoD summary from the checks' own task_states.
cjm_context_graph_projection.readme
project_readmefunction — Project a repo's README markdown from the graph (structural-only v1).repo_purposefunction — The repo's intro/"why" prose: the activepurposeassertion on the repo Entity.
cjm_context_graph_projection.reconcile
reconcile_memoryfunction — Report.md<->graph section drift across the corpus; optionally absorb hand-edits.
cjm_context_graph_projection.refactor
compute_refactor_candidatesfunction — Compute refactoring candidates from the code graph slices (pure).refactor_candidatesfunction — Identify relocation / dead-code / consolidation / split candidates over the code graph.
cjm_context_graph_projection.refactor_ops
movefunction — Relocate a single top-level symbol from its module to another, graph-driven.rewrite_symbol_importfunction — Rewritefrom old_module import ... S ...-> import S from new_module instead.
cjm_context_graph_projection.registers
classify_register_driftfunction — Pure: reconcile each register's cache against its membership ground truth.register_driftfunction — The derived register-cache reconciliation overroleassertions + hub edges.
cjm_context_graph_projection.rename_ops
rename_symbolfunction — Rename a top-level free function/class everywhere it is referenced, graph-driven.rewrite_import_for_renamefunction — Re-point an importer'sfrom src_module import old [as a]at the new name.scoped_renamefunction — Rename references to the module-globalold->new, scope-aware, by exact position.
cjm_context_graph_projection.render
renderfunction — Render a projection result in the requested format.
cjm_context_graph_projection.runtime
GraphHandleclass — A live, started graph: the queue + the capability id to address it.open_graphfunction — Load the graph-storage capability ongraph_db_pathand yield a started handle.
cjm_context_graph_projection.seeds
aliases_forfunction — Prior names that should resolve to this repo (empty unless it was renamed).class_subject_elementsfunction — Class-subject entities + PART_OF-style membership edges (ABOUT member->class).conceptual_keyfunction — The durable conceptual key for a repo (rename-aware; defaults to the name).rename_contradiction_elementsfunction — The torch/hf-utilsrename-dispositionslots with BOTH claims active.seed_elementsfunction — All hand-seeded elements (rename contradiction + stale version + class subjects).stale_version_seed_elementsfunction — Acjm-substrateversion slot seeded BEHIND the real version (oracle bumps it).
cjm_context_graph_projection.serve
build_appfunction — Build the read-only API app over already-open graph handles.graph_namesfunction — Derive a stable short name per db (its file stem; collisions suffixed-2,-3, …).serve_graphsfunction — Open every graph once, hold the handles, and serve the API until interrupted.
cjm_context_graph_projection.source_state
absorb_authored_textfunction — Absorb anauthoredit of a GRAPH-SOURCED module into the source journal.append_retirefunction — Append aretireop ending a module key's journal life.append_sourcefunction — Append asourceop, skipping a write identical to the module's current latest state.canonical_emitfunction — Decompose source text and re-emit it canonically — the exact graph→.pyPhase 2 yields.canonical_emit_notebookfunction — The notebook analogue ofcanonical_emit: parse to cells, re-render canonically.cutover_modulefunction — Phase 2: make the JOURNAL the module's source of truth (the persistence flip).emit_source_artifactfunction — (Re)generate a module's file artifact from its journaled source (the recovery /flip_modulefunction — Capture a module's CANONICAL source into the shadow source journal (Phase 1).graph_sourced_modulesfunction — The modules whose ingest source IS the journal (acutoverop exists for them).is_test_module_pathfunction — Whether a module path denotes TEST source (tests/ortests_manual/).latest_source_opsfunction — The LATEST source state per module (last write wins — the 'journal STATE, not diff'notebook_to_py_sourcefunction — Build a plain-.pymodule source from a notebook's EXPORT cells (the flip transform).read_source_journalfunction — Read everysourceop (one JSON object per line; missing file = []).source_checkfunction — The soak instrument: for each shadow-sourced module, check two things.
cjm_context_graph_projection.structure
add_sectionfunction — Add a section to an existing note (append, or insert after an anchor), born on-graph.new_notefunction — Create a brand-new note, born on-graph (write the.md+ ingest it this session).reconstruct_notefunction — Reconstruct a whole note (Note + ordered Section nodes) FROM JOURNALED text — the M3
cjm_context_graph_projection.viz
project_vizfunction — Project the readiness frontier into a self-contained interactive HTML page.render_viz_htmlfunction — Render the elements into one self-contained interactive HTML page (Cytoscape + dagre).viz_elementsfunction — Pure: turn a readiness frontier into Cytoscape elements — the whole data model.
cjm_context_graph_projection.worklist
dangling_reference_proposalsfunction — Referenced[[slugs]]with no note, each with a fuzzy suggestion (no auto-fix).dangling_reference_sourcesfunction — The note ids whose[[wiki-links]]includedrifted_slug(alias evidence).worklistfunction — Assemble the propose/confirm worklist (graph signals + optional corpus triage).
cjm_context_graph_projection.write
add_checkfunction — Attach a definition-of-done check to a work item (DoD-as-graph-objects).aliasfunction — Confirm a drifted link slug as an alias OF a real note (the worklist payoff).assert_valuefunction — Write one value to a(subject, predicate)slot, recording any conflict.author_sectionfunction — Apply a memory section's verbatimrawSTATE to the graph — the born-on-graph legdecidefunction — Record a Decision + itsSUPPORTED_BYpremise edges (reasoning substrate).linkfunction — Mint a deliberate edge between two EXISTING nodes (heterogeneous interlink).resolve_subjectfunction — Resolve a subject to an entity id (rename-stable), minting atermentity
tests.test_add_symbol_router
FakeGraphclass — In-memory stand-in for the graph capability (the ops the authoring verbs use).test_add_symbol_appends_emits_and_linksfunctiontest_add_symbol_binds_refs_to_available_importsfunctiontest_add_symbol_dry_run_touches_nothingfunctiontest_add_symbol_keeps_test_module_imports_verbatimfunctiontest_add_symbol_refuses_bad_bodies_and_duplicatesfunctiontest_add_symbol_refuses_notebook_modulesfunctiontest_nested_symbol_edit_routes_through_owning_classfunctiontest_nested_symbol_replace_is_refused_with_guidancefunctiontest_nested_symbol_routes_to_owning_notebook_cellfunction
tests.test_authoring_units
test_apply_replace_and_targeted_edit_on_a_section_spanfunctiontest_code_and_cell_slots_still_routefunctiontest_non_authorable_node_returns_nonefunctiontest_section_routes_by_inference_without_a_surfaced_labelfunctiontest_section_routes_to_raw_note_slot_by_labelfunction
tests.test_cli_m3_smoke
test_decide_state_open_mints_and_asserts_in_one_invocationfunctiontest_link_resolves_id_prefixes_and_journals_resolved_idsfunctiontest_m3_baseline_cli_dispatches_and_journalsfunctiontest_m3_baseline_cli_requires_journalfunctiontest_new_note_cli_journals_nativelyfunction
tests.test_code_edges
test_classify_dedups_identical_opsfunctiontest_classify_labeled_orphan_gets_fuzzy_remap_proposalfunctiontest_classify_low_similarity_yields_no_proposalfunctiontest_classify_missing_endpoint_is_orphaned_even_without_labelfunctiontest_classify_resolving_endpoints_are_cleanfunctiontest_render_orphaned_edges_cleanfunctiontest_render_orphaned_edges_names_proposal_and_contextfunction
tests.test_cohesion
test_cohesive_module_not_flaggedfunctiontest_dominant_core_plus_satellites_is_dampedfunctiontest_name_family_is_not_flaggedfunctiontest_over_split_damps_driver_consumerfunctiontest_over_split_excludes_multi_module_and_cross_repo_callersfunctiontest_over_split_helper_used_only_by_one_other_modulefunctiontest_scope_restricts_to_one_repofunctiontest_tokens_snake_and_camelfunctiontest_under_split_flags_disconnected_grabbagfunctiontest_under_split_respects_min_symbolsfunction
tests.test_conventions_resolve
test_ambiguous_call_name_is_not_resolvedfunctiontest_conventions_flags_undocumented_no_docstring_and_non_granularfunctiontest_conventions_ignores_non_notebook_symbols_and_respects_scopefunctiontest_resolve_cross_module_calls_and_importsfunction
tests.test_devgraph
test_cjm_dep_keys_strips_specifiers_and_filtersfunctiontest_code_elements_ingests_graph_sourced_modules_from_the_journalfunction — N+3 Phase 2: a cut-over module's text comes from the SOURCE journal, not the filetest_compute_untested_flags_unlinked_public_symbolsfunction — The untested audit: public package symbols without an incoming TESTS edge aretest_notebook_elements_decomposes_repo_notebooksfunctiontest_notebook_elements_ingests_graph_sourced_notebooks_from_the_journalfunction — The notebook authority flip: a cut-over notebook's cells come from the SOURCEtest_notebook_elements_scans_only_nbs_when_presentfunction — quarto's_proccopies (anddist/etc.) share export targets with the realtest_notes_corpus_elements_permalink_identity_and_facetsfunctiontest_repo_map_elements_entities_and_depends_onfunctiontest_test_elements_and_tests_edgesfunction — Stage 1 of tests-on-graph: tests/ decomposes with repo-relative module identity,test_test_elements_ingests_graph_sourced_test_module_from_journalfunction — Stage 2 of tests-on-graph: a cut-over test module ingests from the SOURCE journal
tests.test_display
test_annotate_stamps_rule_output_but_never_overwrites_tier_onefunctiontest_first_clause_cuts_a_house_style_headlinefunctiontest_first_clause_hard_truncates_when_no_boundary_fitsfunctiontest_first_clause_short_text_passes_throughfunctiontest_node_title_display_title_outranks_everythingfunctiontest_node_title_falls_back_to_idfunctiontest_node_title_statement_gets_the_first_clause_trimfunctiontest_node_title_subject_label_rescues_a_factslotfunctiontest_parse_template_literals_props_edgesfunctiontest_parse_template_neighbour_propfunctiontest_parse_template_rejects_outside_the_frozen_grammarfunctiontest_render_composes_props_neighbour_titles_and_countsfunctiontest_render_display_rule_resultfunctiontest_render_list_rows_show_glossfunctiontest_render_missing_values_collapse_cleanlyfunctiontest_set_display_rule_rejects_a_malformed_template_before_writingfunctiontest_set_display_rule_requires_at_least_one_templatefunction
tests.test_flip_to_py
FakeGraphclass — In-memory stand-in for the graph ops the flip verb touches.test_a_later_source_op_revives_a_retired_keyfunctiontest_flip_blocks_on_an_unretargetable_cell_ref_and_force_drops_loudlyfunctiontest_flip_dry_run_touches_nothingfunctiontest_flip_refuses_a_nonexporting_notebookfunctiontest_flip_refuses_an_unsourced_notebookfunctiontest_flip_replays_curation_links_severed_by_the_subtree_swapfunctiontest_flip_retargets_a_link_onto_the_surviving_symbolfunctiontest_flip_to_py_end_to_endfunctiontest_import_clauses_see_same_root_submodule_importsfunction — The prune-report universe is per-CLAUSE: dropping one of twoimport urllib.Xtest_notebook_to_py_source_keeps_exports_and_reports_the_restfunctiontest_notebook_to_py_source_reports_a_nonexporting_notebookfunctiontest_retire_ends_a_source_key_and_source_check_forgets_itfunctiontest_retire_noops_on_an_unknown_keyfunction
tests.test_journal
test_append_and_read_roundtripfunctiontest_append_skips_exact_duplicatefunctiontest_journal_lines_are_valid_jsonlfunctiontest_journal_sourced_note_paths_matches_any_actorfunctiontest_link_append_roundtripfunctiontest_link_verb_is_journaledfunctiontest_m3_baseline_import_emits_baseline_and_is_idempotentfunctiontest_new_note_verb_is_journaledfunctiontest_read_missing_journal_is_emptyfunctiontest_render_link_human_and_errorfunctiontest_render_reconcile_memory_humanfunctiontest_render_structure_humanfunctiontest_section_append_roundtrip_carries_replacesfunctiontest_section_verb_is_journaledfunction
tests.test_listing
test_list_graph_requires_exactly_one_modefunctiontest_parse_where_and_true_total_renderfunctiontest_render_list_error_and_emptyfunctiontest_render_list_label_mode_with_pathsfunctiontest_render_list_predicate_mode_shows_subject_value_actorfunctiontest_render_list_relation_mode_shows_src_targetfunction
tests.test_module_ops
test_derive_import_name_strips_py_and_dots_pathfunctiontest_rewrite_from_import_preserves_aliasesfunctiontest_rewrite_from_import_repoints_module_keeping_namesfunctiontest_rewrite_invalid_python_is_a_noopfunctiontest_rewrite_leaves_submodule_and_other_modules_alonefunctiontest_rewrite_parenthesized_from_importfunctiontest_rewrite_plain_import_and_aliasfunction
tests.test_projection_units
test_facet_axis_value_kind_and_seedfunctiontest_facet_breakdown_counts_sorted_with_compound_handlesfunctiontest_fine_tier_content_is_titled_and_searchablefunctiontest_load_seeds_how_to_query_overrides_per_keyfunctiontest_locate_row_carries_id_label_title_pathfunctiontest_node_summary_carries_description_and_kindfunctiontest_node_title_prefers_title_then_name_then_slug_then_idfunctiontest_render_coverage_by_kind_and_hub_handlesfunctiontest_render_explore_complete_vs_refacetfunctiontest_render_locate_lists_matches_with_path_and_handles_emptyfunctiontest_render_relevant_facets_bounded_even_with_giant_contentfunctiontest_render_relevant_human_lists_resultsfunctiontest_render_schema_human_and_agentfunctiontest_render_show_surfaces_on_disk_pathfunctiontest_section_body_is_searchable_and_summarisedfunctiontest_short_caps_long_text_and_collapses_whitespacefunctiontest_terms_distinct_lowercase_len_gt_2function
tests.test_readiness
test_classify_gate_without_task_state_counts_as_unmetfunctiontest_classify_hidden_check_satisfies_gate_but_never_partitionsfunctiontest_classify_hidden_open_check_still_blocks_a_gatefunctiontest_classify_open_with_done_gate_is_readyfunctiontest_classify_open_with_unmet_gate_is_blockedfunctiontest_classify_transitive_unlock_is_pure_recomputefunctiontest_classify_ungated_open_item_is_readyfunctiontest_render_readiness_caps_giant_decision_labelsfunctiontest_render_readiness_drift_section_names_open_checksfunctiontest_render_readiness_emptyfunctiontest_render_readiness_human_groups_and_flags_derivedfunctiontest_render_readiness_marks_closable_and_dod_progressfunctiontest_render_readiness_without_checks_is_unchanged_shapefunctiontest_summarize_checks_all_done_is_closable_shapefunctiontest_summarize_checks_counts_and_absence_is_openfunction
tests.test_readme
test_readme_projection_structuralfunctiontest_readme_uses_on_graph_purposefunction
tests.test_refactor
test_consolidation_same_name_across_reposfunctiontest_dead_code_flags_uncalled_public_excludes_dunder_private_initfunctiontest_mutual_import_marks_relocation_cyclefunctiontest_same_name_within_one_repo_is_not_consolidationfunctiontest_scope_restricts_to_one_repofunctiontest_single_consumer_cross_repo_is_relocation_not_cyclefunctiontest_split_divergent_vs_shared_neighborhoodfunctiontest_within_repo_caller_is_not_relocationfunction
tests.test_refactor_ops
test_no_match_unchangedfunctiontest_other_module_import_untouchedfunctiontest_rewrite_parenthesized_importfunctiontest_rewrite_preserves_aliasfunctiontest_rewrite_sole_importfunctiontest_rewrite_splits_multi_name_importfunction
tests.test_registers
test_classify_active_member_without_cache_edge_is_missingfunctiontest_classify_contextual_reference_is_not_driftfunctiontest_classify_in_sync_register_reports_no_driftfunctiontest_classify_role_value_without_hub_is_hubless_counts_onlyfunctiontest_classify_superseded_member_still_cached_is_stalefunctiontest_render_register_drift_emptyfunctiontest_render_register_drift_marks_sync_and_names_driftfunction
tests.test_rename_ops
test_decorator_reference_renamedfunctiontest_global_declaration_reaches_module_bindingfunctiontest_import_rewrite_aliased_keeps_alias_and_signals_no_body_editfunctiontest_import_rewrite_flags_qualified_usefunctiontest_import_rewrite_unaliased_reports_local_name_oldfunctiontest_method_named_old_not_treated_as_module_globalfunctiontest_nonascii_elsewhere_on_line_keeps_alignmentfunctiontest_renames_class_site_and_base_and_annotationfunctiontest_renames_def_site_and_callersfunctiontest_self_recursion_renamedfunctiontest_skips_attribute_accessfunctiontest_skips_comprehension_target_shadowfunctiontest_skips_keyword_argument_name_but_renames_valuefunctiontest_skips_local_shadow_param_and_assignmentfunctiontest_strings_and_comments_untouchedfunctiontest_unrelated_name_untouched_byte_exactfunction
tests.test_seeds_render
test_conceptual_key_is_rename_stablefunctiontest_render_assert_conflict_warnsfunctiontest_render_contradictions_humanfunctiontest_seed_has_both_rename_contradictions_with_two_active_claimsfunctiontest_term_slugfunction
tests.test_source_state
test_absorb_authored_text_canonicalizes_and_keeps_file_in_syncfunctiontest_append_source_dedups_identical_latest_statefunctiontest_canonical_emit_is_a_fixpointfunctiontest_canonical_emit_notebook_is_a_fixpoint_and_strips_derived_statefunctiontest_cutover_flips_and_is_idempotentfunctiontest_cutover_refuses_a_drifted_filefunctiontest_cutover_regenerates_a_missing_artifactfunctiontest_cutover_requires_a_shadow_statefunctiontest_emit_source_artifact_restores_the_file_from_the_journalfunctiontest_flip_notebook_journals_canonical_cell_statefunctiontest_flip_notebook_rejects_malformed_jsonfunctiontest_flip_then_source_check_clean_when_file_canonicalfunctiontest_notebook_walk_flip_emit_cutover_then_regen_gatefunctiontest_source_check_flags_out_of_band_file_driftfunctiontest_source_check_reports_phase_and_the_regen_gatefunctiontest_test_module_block_nested_closure_import_survivesfunctiontest_test_module_canonical_emit_keeps_fixture_import_verbatimfunctiontest_test_module_flip_cutover_roundtrip_is_byte_cleanfunction
tests_manual.authoring
mainfunctionpart_a_bfunctionpart_cfunctionpart_dfunctionpart_efunction — E. ROUND-TRIP a real memory note from the graph (read-only, real corpus).part_ffunction — F. AUTHOR a memory section + EMIT to a temp.md(the SAME verb on a Section slot).part_gfunction — G. Section-slot guards: refuse a non-lossless note (would truncate); OLD-match safety.
tests_manual.code_on_graph
gx_schemafunctionmainfunction
tests_manual.divergence_probe
mainfunction
tests_manual.inc3_first_slice
checkfunctionmainfunctionrunfunction
tests_manual.inc4_dogfood
checkfunctionmainfunctionrunfunction
tests_manual.journal_rebuild
checkfunctionmainfunctionrunfunction
tests_manual.m2b_shadow
mainfunctionpart_afunctionpart_bcdfunction
tests_manual.m3_cutover
checkfunctionmainfunctionrunfunction
tests_manual.module_ops
mainfunctionscenario_deletefunctionscenario_regroupfunctionscenario_renamefunction
tests_manual.move
mainfunction
tests_manual.rename
mainfunctionscenario_rename_classfunctionscenario_rename_functionfunction
tests_manual.session_start_sequence
checkfunctionmainfunctionrunfunction
tests_manual.structure
mainfunctionpart_afunctionpart_bfunctionpart_cfunctionpart_dfunctionpart_efunction — The DURABILITY fix (approach A): a journaledadd-sectionop is re-spliced on rebuild, so
tests_manual.viz
mainfunctionpart_afunctionpart_bfunctionpart_cfunction
Dependencies
Depends on: cjm-dev-graph-schema, cjm-markdown-decompose-core, cjm-notebook-decompose-core, cjm-python-decompose-core, cjm-substrate
Used by: cjm-notebook-decompose-core
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file cjm_context_graph_projection-0.0.31.tar.gz.
File metadata
- Download URL: cjm_context_graph_projection-0.0.31.tar.gz
- Upload date:
- Size: 278.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e5af777d43b51c22f72a4862437b265e63a01edd949066f1304355b08e9b9032
|
|
| MD5 |
c13df5df5c5490bdb2321bfe4faed776
|
|
| BLAKE2b-256 |
d01248ad2ae254b950b6b2108d01b9f18c955508081e50d8627c5a65cc397570
|
File details
Details for the file cjm_context_graph_projection-0.0.31-py3-none-any.whl.
File metadata
- Download URL: cjm_context_graph_projection-0.0.31-py3-none-any.whl
- Upload date:
- Size: 232.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdfbffd89eebe511e5ba03405832eea6a954c70916b26402fa3fd7fe1d6f827d
|
|
| MD5 |
6a30c69e7745a333333ddfa6e5d151b6
|
|
| BLAKE2b-256 |
9f29bbf6175b160688944734e477934118619b1be8f04d9f5f730772c286a535
|