A code-to-column change-impact knowledge graph for AI coding agents.
| English | 한국어 |
AI 코딩 에이전트와 그 옆에서 일하는 사람을 위한, 코드에서 컬럼까지 이어지는 변경 영향 지식 그래프입니다. Apache-2.0.
| 한국어 README | English README |

얕은 코드 인덱스가 주지 못하는 것은 끝에서 끝까지 양방향으로 걷는 일입니다.
screen → frontend function → endpoint → service → mapper/ORM → SQL → table → column
column ← SQL ← mapper ← service ← endpoint ← frontend function ← screen
레인 셋이 이것을 만듭니다. SQL 레인(Python 과 sqlglot)은 DDL 파일이나 고정된
카탈로그 스냅샷을 스키마로, MyBatis XML 을 파싱 가능한 statement 로, 그
statement 를 테이블과 컬럼의 읽기와 쓰기로 바꿉니다. Java 레인(JDK 자체
파서. Gradle 도 Maven 도 의존성 classpath 도 쓰지 않습니다)은 그 위에
endpoint → controller → service → mapper 를 잇고, SQL 로 쓰이지 않고 @Entity
나 Spring Data 로 선언된 영속성도 함께 다룹니다. 웹 레인(동봉된 파서, 설치
없음)은 엔드포인트 위쪽의 코드, 즉 프런트엔드 호출과 화면이 되는 라우터 선언을
읽습니다.
모든 답은 네 개의 필드를 달고 다니며, 직렬화 전에 검사받습니다. 비슷하게 생긴
객체를 손으로 만들어 넘기면 나가기 전에 assertContract() 에서 죽습니다.
current, behind, provisional-overlay, unknown 중 무엇인지입니다.
unknown 은 절대 current 로 읽히지 않습니다.UNCERTIFIED, GOLDEN_FAIL, GOLDEN_PASS)이며
타이핑해 넣은 값이 아닙니다. 골든 코퍼스가 없으면 UNCERTIFIED 입니다.빈 목록은 왜 비었는지를 말합니다. not-shipped(축이 아예 만들어지지 않음),
degraded(필요한 것 없이 만들어짐), none(찾아봤고 없었음)입니다. 이 셋은 서로
다른 답이며 [] 하나로 뭉개지지 않습니다.
SAST 와 CodeQL 은 취약점을 찾습니다. Cascade 는 변경이 어디까지 닿는지를, 화면 에서 DB 컬럼까지의 왕복을 찾습니다. 그것도 모든 엣지에 등급을 달고, 빌드 한 번 없이 소스만 읽어서 답합니다. 어떤 SAST 나 의존성 스캐너도 그 왕복을 답하지 않습니다. 소스만으로 호출이 확정되지 않는 곳은 엣지를 지어내는 대신 그렇다고 표시합니다. 보정할 수 있는 답이라야 에이전트가 손댈 수 있는 답이기 때문입니다.
준비물과, 무엇이 빠졌는지 알려 주는 명령 하나입니다.
node bin/cascade.mjs setup # SQL 레인: python 을 만들고 고정된 sqlglot 을 설치합니다
# plus a JDK 17+ for the Java lane (`brew install openjdk`; set JAVA_HOME)
# the web lane needs nothing: its parser is vendored
node bin/cascade.mjs doctor # every prerequisite, its state, the remedy
그다음 Spring 에 MyBatis 나 JPA 를 쓰는 아무 트리에나 이렇게 씁니다.
node bin/cascade.mjs init --root <repo> --project <id>
node bin/cascade.mjs analyze --root <repo>
node bin/cascade.mjs estimate --root <repo>
node bin/cascade.mjs mcp --project <id>
node bin/cascade.mjs view --project <id> # http://127.0.0.1:4319/
실제 출력과 함께 같은 길을 걷는 설명은 한국어 README 에 있습니다. 내 프로젝트에 10분, AI 에이전트에 연결하기, 편집 루프 입니다.
| 문서 | 무엇이 있는가 |
|---|---|
| concepts.md | 등급, 답이 달고 다니는 네 필드, 두 개의 속도, 부분 pack, 보정 |
| viewer.md | 로컬 웹 뷰어. 탭, 딥 링크, 언어 토글, 무엇이 번역되고 무엇이 되지 않는가 |
| setup/agents.md | MCP 클라이언트 설정 전체. Claude Code, Claude Desktop, Cursor, 일반 stdio 클라이언트 |
| setup/web-lane.md | 프런트엔드 레인. 동봉 파서, 래퍼, 접두사, 화면, OpenAPI, 기록 |
| setup/runtime-evidence.md | 실행 트레이스를 증거로. 어느 구현이 실제로 돌았는지를 등급 옆에 놓되 등급 위에는 놓지 않습니다 |
아래 두 쪽은 영어 원문만 있습니다. 내용의 대부분이 영어 식별자로 된 표이고, 그 이름들은 번역 대상이 아니라 여러분이 그대로 입력하게 될 문자열이기 때문입니다. 표 옆의 설명 문장까지 옮기면 원문과 번역본이 갈라졌을 때 어느 쪽이 맞는지 알 수 없게 됩니다.
project 인자, 두 개의 전송 방식, 오류
표입니다.같은 이유로 아래 네 쪽도 영어 원문을 보십시오.
기여: CONTRIBUTING.md. 보안: SECURITY.md. 변경 기록: CHANGELOG.md.