From 152a0ee201b5cfbc08cece47a85b5af155ec76bc Mon Sep 17 00:00:00 2001 From: ReidenXerx Date: Thu, 6 Aug 2026 17:28:40 +0300 Subject: [PATCH] docs(test): correct a stale status note left behind by a later fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The A1/A5 header still said "edge resolution REMAINING ... neither is implemented". Both shapes resolve — the typeable receiver precisely, the untyped one by workspace-unique name — and the tests below assert exactly that, so the note contradicted the file it sat on. It was accurate when written and went stale when the work continued past it. Left as-is it would tell a reviewer that a landed feature is missing. The TRAP note is kept: the parse worker still runs built dist under vitest, and that is still the trap it describes. Co-Authored-By: Claude Opus 5 (1M context) --- .../javascript-object-properties.test.ts | 24 +++++-------------- 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/gitnexus/test/integration/resolvers/javascript-object-properties.test.ts b/gitnexus/test/integration/resolvers/javascript-object-properties.test.ts index e2feec99d..0c142f279 100644 --- a/gitnexus/test/integration/resolvers/javascript-object-properties.test.ts +++ b/gitnexus/test/integration/resolvers/javascript-object-properties.test.ts @@ -15,24 +15,12 @@ * that dominates idiomatic JS. Not precisely solvable without types; * covered by name-based fallback at reduced confidence. * - * STATUS — definition nodes DONE, edge resolution REMAINING. - * - * Done: object-literal keys bound to a variable now mint both halves — the - * graph `Property` node (JAVASCRIPT_QUERIES) and the scope-resolution def - * (languages/javascript/query.ts). A config field is findable by name where it - * previously did not exist as a symbol at all. - * - * Remaining: the ACCESSES edges. The two receiver shapes need different - * mechanisms and neither is implemented: - * - Through the holding variable (`exitRules.exitMinAtrMult`) the receiver is - * typeable, so it must resolve precisely — the Const holding the literal - * has to be typed to the literal's scope, the way `classScopeByDefId` maps - * a class def to its scope. - * - Through an untyped param (`cfg.exitMinAtrMult`) it is not typeable in - * plain JS and needs name-based matching — sanctioned for dynamic languages - * here (`fieldFallbackOnMethodLookup` defaults on, and the Vue provider - * documents it recovering plain-object-literal cases) but it must carry - * reduced confidence so precision is not overclaimed. + * Both halves now land. Object-literal keys bound to a variable mint the graph + * `Property` node (JAVASCRIPT_QUERIES) and the scope-resolution def + * (languages/javascript/query.ts), and the ACCESSES edges resolve for both + * receiver shapes: precisely where the receiver is typeable, and by + * workspace-unique name where it is not — at reduced confidence, refusing to + * choose when two properties share a name (see the ambiguity cases below). * * TRAP, learned the hard way and recorded so the next reader does not repeat * it: under vitest the PARSE WORKER runs the BUILT `dist/` code, because