gitnexus 1.6.13-rc.49 → 1.6.13-rc.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -83,6 +83,19 @@ function positionalCapacity(fnNode) {
83
83
  }
84
84
  /** Record a method's exact fixed positional capacity when the AST proves it. */
85
85
  export function recordPythonSubtypeMethodShape(filePath, fnNode, mapLine) {
86
+ // An unknown decorator may replace the function or mark it abstract.
87
+ // Positional shape alone cannot prove a concrete subtype dispatch target.
88
+ // The two built-in descriptor decorators are handled by receiver binding.
89
+ const wrapper = fnNode.parent;
90
+ if (wrapper?.type === 'decorated_definition' &&
91
+ wrapper.namedChildren.some((child) => {
92
+ if (child.type !== 'decorator')
93
+ return false;
94
+ const name = child.firstNamedChild?.text;
95
+ return name !== 'staticmethod' && name !== 'classmethod';
96
+ })) {
97
+ return;
98
+ }
86
99
  const capacity = positionalCapacity(fnNode);
87
100
  if (capacity === undefined)
88
101
  return;
@@ -795,7 +795,10 @@ import { copyV8CacheIfPresent, tryLoadV8Cache, writeV8CacheFile } from './v8-sid
795
795
  // v117 (#3390 private-only successor): simple-positional call entries now carry
796
796
  // their count privately, while ordinary Python references no longer receive
797
797
  // synthetic arity. Warm v116 ParsedFiles have neither equivalent fact.
798
- const SCHEMA_BUMP = 117;
798
+ // v118 (#3398): decorated Python methods with unproven decorator identity no
799
+ // longer publish subtype positional capacity. Warm v117 side-channel snapshots
800
+ // would retain that capacity and could emit a false concrete call target.
801
+ const SCHEMA_BUMP = 118;
799
802
  const GITNEXUS_PKG_VERSION = (() => {
800
803
  try {
801
804
  // package.json sits at gitnexus/package.json — two levels up from
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitnexus",
3
- "version": "1.6.13-rc.49",
3
+ "version": "1.6.13-rc.50",
4
4
  "description": "Graph-powered code intelligence for AI agents. Index any codebase, query via MCP or CLI.",
5
5
  "author": "Abhigyan Patwari",
6
6
  "license": "PolyForm-Noncommercial-1.0.0",