{"staticExample":true,"notice":"Demonstration data only; purchase the endpoint for fresh analysis.","requestExample":{"before":"def invoice_total(items):\n    return sum(item[\"price\"] for item in items)\n","after":"def invoice_total(items, discount=0):\n    subtotal = sum(item[\"price\"] for item in items)\n    if discount:\n        subtotal *= 1 - discount\n    return subtotal  # TODO: validate discount bounds\n","language":"python","filename":"billing.py"},"purchase":{"protocol":"x402","network":"eip155:8453","asset":"USDC","priceUsdc":"0.05","method":"POST","path":"/v1/developer/code-change-review","url":"https://apiacre.com/v1/developer/code-change-review","documentationUrl":"https://apiacre.com/services/developer.code-change-review","checkoutUrl":"https://apiacre.com/try/developer.code-change-review","buyerGuideUrl":"https://apiacre.com/buyers","freshResultRequiresPayment":true},"result":{"request_id":"018f1f54-7f38-7ba2-8dc3-5f90272d9f1a","service":"developer.code-change-review","version":"1","data":{"changed":true,"filename":"billing.py","language":"python","before":{"source":{"sha256":"69316f24997a9cbf73019f697f3f2373e39da67d1835885998775037c600a624","characters":74,"utf8Bytes":74},"lines":{"total":2,"code":2,"comments":0,"blank":0},"functions":1,"classes":0,"branchPoints":1,"estimatedCyclomaticComplexity":2,"maximumFunctionComplexity":2,"maintainabilitySignal":94,"syntax":{"engine":"python-ast","valid":true,"error":null}},"after":{"source":{"sha256":"f37990278fe5bda7fdae643ec96f54997271ed3992cefdd5f407736c2e843d00","characters":194,"utf8Bytes":194},"lines":{"total":5,"code":5,"comments":0,"blank":0},"functions":1,"classes":0,"branchPoints":2,"estimatedCyclomaticComplexity":3,"maximumFunctionComplexity":3,"maintainabilitySignal":87,"syntax":{"engine":"python-ast","valid":true,"error":null}},"summary":{"lineDelta":3,"codeLineDelta":3,"functionDelta":0,"classDelta":0,"branchPointDelta":1,"complexityDelta":1,"maximumFunctionComplexityDelta":1,"maintainabilityDelta":-7,"longLineDelta":0,"workMarkerDelta":1},"functionChanges":{"addedCount":0,"removedCount":0,"changedCount":1,"added":[],"removed":[],"changed":[{"name":"invoice_total","sourceChanged":true,"sourceSha256Before":"69316f24997a9cbf73019f697f3f2373e39da67d1835885998775037c600a624","sourceSha256After":"f37990278fe5bda7fdae643ec96f54997271ed3992cefdd5f407736c2e843d00","complexityBefore":2,"complexityAfter":3,"complexityDelta":1,"linesBefore":2,"linesAfter":5,"lineDelta":3,"parametersBefore":1,"parametersAfter":2,"parameterDelta":1}],"truncated":false},"reviewDecision":"review","attentionScore":2,"attentionLevel":"medium","findings":[{"id":"new-work-markers","severity":"low","message":"The change adds TODO, FIXME, HACK, or XXX markers.","evidence":{"added":1}}],"execution":{"codeExecuted":false,"networkAccessed":false},"analysis":{"version":"apiacre-code-change-review/1","method":"two deterministic code-metrics snapshots plus Python function-level deltas","limitations":["Static heuristics do not prove runtime behavior, correctness, test coverage, or production safety.","Function-level deltas are complete only when both Python snapshots parse and neither function list is truncated.","Renamed functions appear as one removal and one addition."]}},"meta":{"duration_ms":42,"cached":false,"sources":[],"warnings":[],"next_actions":[]}}}