You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
πΊοΈ cgis roadmap β distilled from real-world dogfooding (2026-06-11)
This consolidates the 9 issues filed after running cgis on 4 repos of deliberately different topology, so the work is grounded in observed failure modes, not speculation.
Dogfooding corpus
Repo
Topology
What it stressed
Ownima backend
layered, package-per-domain
real cross-module import cycles; IDOR via impact analysis
httpx
flat, one-file-per-concern
intra-module cycle artifacts; pattern mislabeling
click
dynamic CLI, src/ layout
high unresolved; silent zero-match; "shapeless" modules
sqlalchemy
large, deeply-nested
scale; multi-level domains; quotient layer (in progress)
P0 β without these, drift can't be adopted / trusted
Add cgis init-ontology: auto-propose patterns.yaml from measured graphΒ #174init-ontology β auto-propose patterns.yaml (measure-then-label). Blocker for adoption: drift is a no-op on a fresh repo until someone hand-writes YAML. Hand-labeling also caused real mistakes (httpx._api/_decoders mislabeled β false criticals).
πΊοΈ cgis roadmap β distilled from real-world dogfooding (2026-06-11)
This consolidates the 9 issues filed after running cgis on 4 repos of deliberately different topology, so the work is grounded in observed failure modes, not speculation.
Dogfooding corpus
httpxclicksrc/layoutsqlalchemyP0 β without these, drift can't be adopted / trusted
init-ontologyβ auto-proposepatterns.yaml(measure-then-label). Blocker for adoption: drift is a no-op on a fresh repo until someone hand-writes YAML. Hand-labeling also caused real mistakes (httpx._api/_decodersmislabeled β false criticals).fqn_prefixmatching 0 nodes returnsclean/0.0. Blocker for trust: a mis-targeted ontology (e.g.click.*vs realsrc.click.*) reports 100% green while measuring nothing. A CI gate must fail loudly here.cycle_ratio {max:0}fires on benign intra-file class cohesion (httpx: 8/10 domains false-critical) while correctly catching real import cycles (Ownimaservices/dependencies). Without the split, drift is unusable as a gate on flat/single-module repos.P1 β correctness & signal quality
critical(currently staywarning); clarify globalmax_driftvs per-domaindrift_toleranceprecedence (global silently overrides the specific).click.utils0.33/0.33/0.33,httpx._content).P2 β turn the graph into a linter / agent substrate
AUTHORIZES/ownership check?" Found the Ownima IDOR manually; baking it in makes cgis a security linter. Leverages the existingAUTHORIZESedge type.find_symbol(name β FQN) β agents must currently guess FQNs; pairs with cgis_drift: zero-match / no-signal domains report 'clean' instead of 'empty' (silent mis-targeted ontology passes green)Β #178's closest-prefix suggestions.P3 β operational ergonomics
graph.dbfresh without manual re-ingest; lazy-ingest on first query; staleness signal. Removes the "did you ingest?" footgun. Important for the MCP-server / CI-action distribution form.Suggested sequencing
Cross-refs: #170 #171 #172 #173 #174 #175 #176 #177 #178