Multiply capabilities: +5 languages, structural connectors, graph analysis, exporters, CI gate - #11
Open
cognis-digital wants to merge 3 commits into
Open
Multiply capabilities: +5 languages, structural connectors, graph analysis, exporters, CI gate#11cognis-digital wants to merge 3 commits into
cognis-digital wants to merge 3 commits into
Conversation
…analysis, exporters, and a CI gate Extraction - Add Ruby, PHP, Kotlin, C++, and Protobuf extractors (now 12 languages), registered by suffix and language. - Add a language-agnostic connector detector (gRPC / message-queue / env-var) wired into the indexer so publisher/subscriber and shared-env relationships are captured alongside symbols. Cross-language graph - Resolve gRPC, MQ, and env connectors into typed cross_lang_* edges in addition to the existing HTTP inference. Analysis (codegraph/analysis.py) - Dependency cycles via Tarjan SCC, layering-violation detection against a declared top-to-bottom spec, and a CODEOWNERS ownership overlay that flags cross-team dependency edges. Exporters (codegraph/exporters.py) - JSON-graph, GraphML (Gephi/yEd/Cytoscape), and SARIF 2.1.0 findings. CLI - New 'export' and 'ci' subcommands; the ci gate exits non-zero on cycles / layering violations / broken cross-language edges with per-check opt-outs and a findings threshold, optionally emitting SARIF. - New query subcommands: connectors, cycles, layers, ownership. MCP server - Six new tools (list_connectors, cross_language_edges_by_kind, find_cycles, check_layering, ownership_overlay, broken_cross_language_edges), audited. Tests, demos, docs - New test modules for analysis, connectors, exporters, new-language extraction, extended CLI and extended MCP server; suite is 124 passing. - Demos 06-11 covering polyglot extraction, connectors, cycles, layering & ownership, exporters, and the CI gate; wired into run_all. - Polyglot sample repo (Ruby/PHP/Kotlin/C++/Go/Python services, CODEOWNERS, layers.json); README/ARCHITECTURE/DEMOS updated. Public API unchanged.
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.
Multiply capabilities: languages, connectors, analysis, exporters, CI gate
This is an additive feature multiply on top of the existing knowledge-graph core. Public API is unchanged; every existing command still behaves the same. It also closes out several open threads (see below).
Extraction — 7 → 12 languages
Cross-language graph
cross_lang_grpc/cross_lang_mq/cross_lang_envedges, complementing the existing HTTP inference. (Addresses Resolve cross-language edges via message queues / gRPC, not just HTTP routes #7.)Analysis (
codegraph/analysis.py)Exporters (
codegraph/exporters.py)CLI
exportandcisubcommands. Thecigate exits non-zero on cycles / layering violations / broken cross-language edges, with per-check opt-outs, a findings threshold, and optional SARIF output.querysubcommands:connectors,cycles,layers,ownership.MCP server
list_connectors,cross_language_edges_by_kind,find_cycles,check_layering,ownership_overlay,broken_cross_language_edges.Tests / demos / docs
run_all.CODEOWNERS+layers.json); README / ARCHITECTURE / DEMOS updated.Independent of and non-conflicting with #4.