Analyze change coupling API

Identify files outside a proposed change set that are coupled through supplied module edges, import paths, or historical co-change sets. The source is not compiled or executed.

The Analyze change coupling operation is part of the Source Code Structure & Correctness Checks API on BRAINIAC.software. Identify files outside a proposed change set that are coupled through supplied module edges, import paths, or historical co-change sets. The source is not compiled or executed. It is exposed as POST /api/v1/code/change-coupling-analyze and priced at $0.04 USDC on Base. Payment uses the x402 exact scheme: an unpaid call returns HTTP 402 with payment requirements; after paying the exact USDC amount, retry the same request with a payment-signature header and Idempotency-Key. No account and no API key are required. Data sources for this product: Caller-supplied source text, AST, module edges, and change sets processed locally Limitations: The parser builds a structural AST for maintainability metrics. It is not a compiler and it does not run the code. Coupling, concurrency, and error findings are deterministic text/graph checks. They are not proof of a production defect. JavaScript, TypeScript, and Go are read from braces and keywords. Python is read from indentation. No repository checkout, CI system, or test runner is used. Outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Related operations in this group include Index source maintainability, Detect concurrency hazards, Audit error propagation. Open the group documentation for the full request schema, field notes, and response examples before integrating.

POST$0.04 USDC
/api/v1/code/change-coupling-analyze

Example request

curl -i -X POST "https://www.brainiac.software/api/v1/code/change-coupling-analyze" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "files": [
    {
      "path": "src/a.ts",
      "source": "import { helper } from './b'\nexport const run = () => helper()\n"
    },
    {
      "path": "src/b.ts",
      "source": "export const helper = () => 1\n"
    },
    {
      "path": "src/c.ts",
      "source": "export const other = () => 2\n"
    }
  ],
  "module_edges": [
    {
      "from_path": "src/c.ts",
      "to_path": "src/b.ts",
      "kind": "call"
    }
  ],
  "change_sets": [
    {
      "id": "cs1",
      "paths": [
        "src/a.ts",
        "src/b.ts"
      ]
    },
    {
      "id": "cs2",
      "paths": [
        "src/a.ts",
        "src/b.ts"
      ]
    },
    {
      "id": "cs3",
      "paths": [
        "src/a.ts",
        "src/b.ts"
      ]
    }
  ],
  "proposed_paths": [
    "src/b.ts"
  ]
}
JSON

An unpaid probe returns HTTP 402 with x402 payment requirements. After paying the exact USDC amount on Base, retry the identical request with a payment-signature header.

FAQ

  • Do I need an API key? No. Pay the listed USDC amount with x402.
  • What network? Base (eip155:8453), USDC.
  • Is this an official determination? No. Results are for human review against the cited sources.

Related APIs

Source Code Structure & Correctness Checks APIFull docsHow it works