From cc53ecddafd10ad886cdfd7e9ee72fcdcb4dce11 Mon Sep 17 00:00:00 2001 From: Wonhyo Choi <37432155+achieve0410@users.noreply.github.com> Date: Tue, 28 Jul 2026 01:01:11 +0900 Subject: [PATCH] Rename public product to code-debugger Align documentation, browser title, JavaScript and Python distribution metadata, and the v0.2.0 version while retaining stable internal compatibility identifiers. --- AGENTS.md | 2 +- CONTRIBUTING.md | 4 ++-- README.md | 10 +++++++--- SECURITY.md | 2 +- docs/security-model.md | 2 +- package-lock.json | 8 ++++---- package.json | 4 ++-- pyproject.toml | 4 ++-- src/kg_debugger/__init__.py | 2 +- tests/e2e/execution-flow-debugger.spec.ts | 1 + web/index.html | 2 +- 11 files changed, 23 insertions(+), 18 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 608639a..11a8591 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -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 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 32016a9..daa7b84 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -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 diff --git a/README.md b/README.md index 125cdd2..58b6419 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,23 @@ -# kg-debugger +# code-debugger [](https://github.com/achieve0410/code-debugger/actions/workflows/ci.yml) [](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. diff --git a/SECURITY.md b/SECURITY.md index 98d5c3f..9e6ba03 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -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 diff --git a/docs/security-model.md b/docs/security-model.md index 64a32b0..4093417 100644 --- a/docs/security-model.md +++ b/docs/security-model.md @@ -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 diff --git a/package-lock.json b/package-lock.json index 7992c08..8ff1248 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { - "name": "kg-execution-flow-debugger", - "version": "0.1.1", + "name": "code-debugger", + "version": "0.2.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "kg-execution-flow-debugger", - "version": "0.1.1", + "name": "code-debugger", + "version": "0.2.0", "license": "MIT", "dependencies": { "@vue/compiler-sfc": "3.5.40", diff --git a/package.json b/package.json index c1da6eb..cdfbd58 100644 --- a/package.json +++ b/package.json @@ -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", diff --git a/pyproject.toml b/pyproject.toml index d67a95a..38583d0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" diff --git a/src/kg_debugger/__init__.py b/src/kg_debugger/__init__.py index d147a91..eb47bdd 100644 --- a/src/kg_debugger/__init__.py +++ b/src/kg_debugger/__init__.py @@ -2,4 +2,4 @@ __all__ = ["__version__"] -__version__ = "0.1.1" +__version__ = "0.2.0" diff --git a/tests/e2e/execution-flow-debugger.spec.ts b/tests/e2e/execution-flow-debugger.spec.ts index ea7fcd1..1678170 100644 --- a/tests/e2e/execution-flow-debugger.spec.ts +++ b/tests/e2e/execution-flow-debugger.spec.ts @@ -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(); diff --git a/web/index.html b/web/index.html index b73fa16..3bd831b 100644 --- a/web/index.html +++ b/web/index.html @@ -4,7 +4,7 @@ -