Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AGENTS.md

Repository operating guide for `kg-debugger`. Higher-priority instructions
Repository operating guide for `code-debugger`. Higher-priority instructions
prevail.

## Product boundary
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contributing to kg-debugger
# Contributing to code-debugger

Thank you for helping improve `kg-debugger`. Contributions should preserve its
Thank you for helping improve `code-debugger`. Contributions should preserve its
local-first, fail-closed security and graph-contract boundaries.

## Before opening a change
Expand Down
10 changes: 7 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,23 @@
# kg-debugger
# code-debugger

[![CI](https://github.com/achieve0410/code-debugger/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/achieve0410/code-debugger/actions/workflows/ci.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)

> Project status: early `v0.1.x`. The graph and security contracts are strict,
> Project status: early `v0.2.x`. The graph and security contracts are strict,
> but framework coverage remains intentionally bounded and unsupported behavior
> is reported as `Unresolved`.

`kg-debugger` is a local execution-flow debugger for React, Vue 3, Nuxt 3+,
`code-debugger` is a local execution-flow debugger for React, Vue 3, Nuxt 3+,
and Django. It statically connects browser routes, UI ownership/events, HTTP
and payload shapes, Django URLs/views/helpers, and ORM boundaries. Unknown or
unsupported cases remain `Unresolved`; it does not claim exhaustive discovery.
Nuxt `server/api` routes are terminal interface boundaries and are not
traversed.

The repository and distribution are named `code-debugger`. The Python import
namespace (`kg_debugger`) and existing on-disk, wire, and serialized identifiers
remain stable compatibility identifiers in `v0.2.x`.

It binds the UI/API to loopback HTTPS. It does not contact production services,
databases, or external URLs, and it has no telemetry or export path.

Expand Down
2 changes: 1 addition & 1 deletion SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ disclosure.

## Security boundary

`kg-debugger` is a loopback-only local development tool, not a hostile-host or
`code-debugger` is a loopback-only local development tool, not a hostile-host or
multi-user security boundary. Its supported data, network, runtime, and storage
boundaries are documented in [docs/security-model.md](docs/security-model.md).
Reports that demonstrate a violation of those documented boundaries are in
Expand Down
2 changes: 1 addition & 1 deletion docs/security-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Scope and threat boundary

`kg-debugger` is a local developer tool, not a production service or hostile
`code-debugger` is a local developer tool, not a production service or hostile
multi-user isolation boundary. It binds to `127.0.0.1` and serves loopback HTTPS
only in normal operation. Host, Origin, per-process mutation capability, strict
framing, no-store responses, and no CORS protect the intended local browser/API
Expand Down
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "kg-execution-flow-debugger",
"version": "0.1.1",
"name": "code-debugger",
"version": "0.2.0",
"private": true,
"description": "Local-first route-centered execution flow debugger",
"license": "MIT",
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "kg-execution-flow-debugger"
version = "0.1.1"
name = "code-debugger"
version = "0.2.0"
description = "Local-first route-centered execution flow debugger"
readme = "README.md"
license = "MIT"
Expand Down
2 changes: 1 addition & 1 deletion src/kg_debugger/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,4 @@

__all__ = ["__version__"]

__version__ = "0.1.1"
__version__ = "0.2.0"
1 change: 1 addition & 0 deletions tests/e2e/execution-flow-debugger.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@ const canonicalCssToken = (value: string) => {
test("accepts canonical IPv6 authorities and rejects forged converter and function records", async ({ page }) => {
const ipv6 = { id: nodeId("src/ipv6.ts", "external_service", "ipv6"), kind: "external_service", identityKey: "ipv6", label: "GET https://[2001:db8::1]:443", layer: "external", source: { repository: "web", path: "src/ipv6.ts", line: 1 }, evidence: [inferred], confidence: 0.9, metadata: { method: "GET", scheme: "https", host: "2001:db8::1", port: 443, pathPresent: true, queryFieldCount: 0, hasSensitiveQuery: false, boundaryOnly: true } };
await mock(page, { graph: { ...staticGraph, nodes: [...staticGraph.nodes, ipv6].sort((a, b) => a.id.localeCompare(b.id)) } }); await page.goto("/");
await expect(page).toHaveTitle("code-debugger");
await expect(page.getByTestId("graph-canvas")).toBeVisible();
const forged = { ...staticGraph, nodes: staticGraph.nodes.map((node) => node.kind === "django_url_pattern" ? { ...node, metadata: { ...node.metadata, converters: [{ name: "forged", kind: "int", segmentIndex: 0 }] } } : node.kind === "function" && node.layer === "frontend" ? { ...node, metadata: {} } : node) };
await page.unroute("**/api/graph"); await page.route("**/api/graph", (route) => route.fulfill({ json: forged })); await page.reload();
Expand Down
2 changes: 1 addition & 1 deletion web/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta name="color-scheme" content="light" />
<title>Execution Flow Debugger</title>
<title>code-debugger</title>
</head>
<body>
<div id="root"></div>
Expand Down