Page MenuHomePhabricator

GrounderUK (Al)
User

Projects

User is not a member of any projects.

Today

  • No visible events.

Tomorrow

  • No visible events.

Tuesday

  • No visible events.

User Details

User Since
Aug 27 2020, 6:49 PM (302 w, 2 d)
Availability
Available
LDAP User
Unknown
MediaWiki User
GrounderUK [ Global Accounts ]

Recent Activity

Wed, May 27

GrounderUK created T427454: Incorrect recursive evaluations with v2.
Wed, May 27, 10:14 PM · Abstract Wikipedia team (26Q4 (Apr–Jun)), function-orchestrator, Abstract Wikipedia
GrounderUK added a comment to T405991: Consider omitting statements with external IDs (and possibly other elements) from Wikidata fetches.

Re: Update, 26 May 2026
Yes, a general “negative filter” would be helpful, allowing the omission of population and GDP statistics from country items, for example. I have it planned as part of a broader post-fetch statement-filter approach and there my tentative conclusion was that each filter should be either positive or negative across all dimensions, just for usability. Otherwise, we risk building a query language. For the limited dimensions of a fetch like Z6820, however, I think we might manage a usable solution that allows each dimension to be specified either positively or negatively. I don’t see any real use case for language exclusions, but I imagine that most fetches should actually exclude either labels or statements. Similarly, I see no case for excluding qualifiers, whereas excluding references would be the norm. That said, if we bring statement identifiers into scope, I can envisage cases where we would initially filter reduced statements and then use the identifiers to fetch the expanded statements. For example, abstract:Q762 asserts that Q215486 is a notable work by Leonardo da Vinci, so we are first interested in the existence of Q762•P800•Q215486 (undeprecated), which happens to have no references, and then in Q215486•P170•Q762 which has two references, which happen to be project imports (P143) and therefore not, in themselves, legitimate references. (So the hypothetical function-call result is a call-to-action: add-reference-to-identified-statement.)

Wed, May 27, 11:00 AM · function-orchestrator, Abstract Wikipedia team

Sun, May 17

GrounderUK closed T389487: Z903 fails for strings as Resolved.

This now succeeds in v2.

Sun, May 17, 12:55 PM · Abstract Wikipedia team

May 7 2026

GrounderUK added a comment to T386853: Consider what to do about builtin functions using Z86.

This is perhaps overtaken by T420333. Or perhaps that became a duplicate after its re-framing. Either way, I don’t think we need both.

May 7 2026, 9:01 AM · Abstract Wikipedia Fix-It tasks, function-schemata, function-orchestrator, Abstract Wikipedia team

May 6 2026

GrounderUK added a comment to T357858: Provide "apply" as a pre-defined, built-in function.

Please note T383842#11572688.

May 6 2026, 2:01 PM · function-orchestrator, Abstract Wikipedia team, Wikifunctions
GrounderUK added a comment to T344170: Add a key to Z60 for the Wikidata item for a language.

In Abstract Wikipedia, text that is not in the target language should be accompanied by a reference to the alternative language, for example: as a link, as text or as a footnote. Without a link from the Natural language to its Wikidata item, none of these options is viable. Z29749 is one of the most widely used functions on Abstract Wikipedia (called from over 400 pages but prefixing the Latin script language tag (when required) produces unsatisfactory rendered content in any language. The same approach is also adopted by the Z11 display function, Z21583, leading to unsatisfactory results for any embedded function that returns Monolingual text, when the result is not in the requested language.

May 6 2026, 10:58 AM · Abstract Wikipedia team
GrounderUK added a comment to T421468: unresolved language argument reference in constructed monolingual stringset.

…The point is that Wikifunctions can't make guarantees about the form (reference or literal) in which an instance will come to an implementation…

May 6 2026, 10:17 AM · Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun))

Apr 28 2026

GrounderUK added a comment to T423180: Allow Wikifunctions-generated references to have links to non-Wikimedia sites (but not in general Wikifunctions output).

Mentioned here https://abstract.wikipedia.org/wiki/Talk:Q916

Apr 28 2026, 11:52 PM · MW-1.47-notes (1.47.0-wmf.3; 2026-05-19), Product Safety and Integrity, Security-Team, WikiLambda, Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Security, Wikifunctions
GrounderUK added a comment to T421151: Automatically connect Abstract Wikipedia articles as a Sitelink in Wikidata, rather than needing the bot / humans to do it.

Stepping back, what happens to abstract.wikipedia.com links in the AW content, when delivered to the language edition?

Apr 28 2026, 1:59 PM · Wikidata-Omega (Radar/Epics/Stalled), Wikidata Integration in Wikimedia projects, Abstract Wikipedia, Wikidata Sitelinks, Wikidata, Abstract Wikipedia team
GrounderUK moved T373735: For implementations and testers show the associated function in Recent Changes (etc) from Engineering Backlog to Product Backlog on the Abstract Wikipedia team board.

Boldly re-assigning to the more appropriate backlog. Revert at will!

Apr 28 2026, 10:27 AM · Abstract Wikipedia team
GrounderUK added a comment to T399244: Tag edits to Objects to explain what kind of Object they are (Function, Implementation, etc.) so they can be filtered.

It’s a separate feature, but tagging the Persistent object with the contributor list would allow ordinary searches to be restricted to objects with contributions from particular contributors.

Apr 28 2026, 10:21 AM · WikiLambda, Abstract Wikipedia team

Apr 20 2026

GrounderUK created T423853: Argument references are not always resolved.
Apr 20 2026, 10:19 AM · function-orchestrator, Abstract Wikipedia team

Apr 18 2026

GrounderUK added a comment to T423781: [Wikifunctions] New built-in: find lexemes by lemma — reverse of Z6830.

I think this duplicates T419561 or, at least, it’s a subset.

Apr 18 2026, 4:20 PM · Abstract Wikipedia team, Patch-For-Review, Abstract Wikipedia

Apr 16 2026

GrounderUK added a comment to T423325: Wikidata import: Consider supporting the use of statement identifiers.

This sounds like it's low user value, and would be yet another breakage of the function model (an implcitly-optional key).

Apr 16 2026, 2:06 PM · WikiLambda, function-schemata, function-orchestrator, Abstract Wikipedia team

Apr 10 2026

GrounderUK updated the task description for T419789: language configurations for displays don't seem to work anymore.
Apr 10 2026, 2:41 PM · Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Patch-For-Review

Apr 3 2026

GrounderUK merged task T422279: Creating an Abstract Wikipedia article should automatically link it to its associated Wikidata item into T421151: Automatically connect Abstract Wikipedia articles as a Sitelink in Wikidata, rather than needing the bot / humans to do it.
Apr 3 2026, 11:07 PM · Abstract Wikipedia team, Wikidata, Abstract Wikipedia
GrounderUK merged T422279: Creating an Abstract Wikipedia article should automatically link it to its associated Wikidata item into T421151: Automatically connect Abstract Wikipedia articles as a Sitelink in Wikidata, rather than needing the bot / humans to do it.
Apr 3 2026, 11:07 PM · Wikidata-Omega (Radar/Epics/Stalled), Wikidata Integration in Wikimedia projects, Abstract Wikipedia, Wikidata Sitelinks, Wikidata, Abstract Wikipedia team

Apr 2 2026

GrounderUK added a comment to T419789: language configurations for displays don't seem to work anymore.

Maybe that too… but when the default function is returned, it seems not to be a problem. The problem is that, for example, a ZReference for Z1002 does not have a language tag == "en", so the code can never return anything other than the default (whether as function, reference, or quoted reference).

Apr 2 2026, 3:09 PM · Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Patch-For-Review
GrounderUK added a comment to T419789: language configurations for displays don't seem to work anymore.

Temporary fix, as before: disconnected Z14403.

Apr 2 2026, 12:39 AM · Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Patch-For-Review

Apr 1 2026

GrounderUK reopened T419789: language configurations for displays don't seem to work anymore as "Open".

Appears to have regressed.

Apr 1 2026, 7:38 PM · Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Patch-For-Review
GrounderUK reopened T419789: language configurations for displays don't seem to work anymore, a subtask of T418887: Collect and decide on whether and how to fix community-experienced changes with the v2 orchestrator, as Open.
Apr 1 2026, 7:38 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator

Mar 31 2026

GrounderUK added a comment to T419931: K combinator no longer works.

Would Z0 work? I’d be reluctant to use anything that might be an actual ZID, but I’m guessing it’s inert anyway. Maybe Z8?

The issue here is that the function identity is ultimately being given as a Z6/String. I see how this worked in v1, but it's technically a violation of the function model (one which we are now enforcing).

There are a few ways we can handle this. I have a little hack that works: https://gitlab.wikimedia.org/repos/abstract-wiki/wikifunctions/function-orchestrator/-/merge_requests/624 . However, the behavior is ill-defined. Maybe we can accept Z6/Strings as the identities of anonymous functions, but it would be better if the string being given as the function identity looked like a ZID (i.e., instead of abcd, something like Z123456789). What are your thoughts?

Mar 31 2026, 4:27 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK added a comment to T420021: standard calls to Z828 fail.

(it works in my local env, at least)

Mar 31 2026, 4:21 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK reopened T420021: standard calls to Z828 fail, a subtask of T418887: Collect and decide on whether and how to fix community-experienced changes with the v2 orchestrator, as In Progress.
Mar 31 2026, 1:39 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator
GrounderUK reopened T420021: standard calls to Z828 fail as "In Progress".

Still failing from Wikifunctions.org but the error is now rendered:

Mar 31 2026, 1:39 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 30 2026

GrounderUK added a comment to T421391: Z803 fails for a Z14 object: all Key references.

AH. Hahaha, so Z801.Z14K1 makes no sense because Z801 is a Function. If I call it with Z901 as of HEAD, all is well.

Oops! Sorry about that. Z14 is definitely not currently working for any key reference, however: nice stack trace.

Mar 30 2026, 11:17 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK renamed T406784: An outdated version of an amended implementation may be used for several hours from An outdated version an amended implementation may be used for several hours to An outdated version of an amended implementation may be used for several hours.
Mar 30 2026, 7:57 AM · Abstract Wikipedia, WikiLambda, Abstract Wikipedia team
GrounderUK renamed T406784: An outdated version of an amended implementation may be used for several hours from When editing a test case, an outdated version of the code for amended implementations may be used for several hours to An outdated version an amended implementation may be used for several hours.
Mar 30 2026, 7:56 AM · Abstract Wikipedia, WikiLambda, Abstract Wikipedia team
GrounderUK added a comment to T406784: An outdated version of an amended implementation may be used for several hours.

It looks like this is no longer limited to test-case editing. I changed Z32879 at 15:15 yesterday and the previous version of the implementation is still being used for new function calls and only works correctly when editing. This is the reverse of the original problem and much more disruptive.

Mar 30 2026, 7:55 AM · Abstract Wikipedia, WikiLambda, Abstract Wikipedia team

Mar 29 2026

GrounderUK added a comment to T358589: Raise a type error if resulting value is incompatible with argument type.

Now that we have functions restricted by return type in the front end and the type-checking in user land is facilitated by v2 improvements, subject to T421506, would you like to consider resolving this task under T413837?

Mar 29 2026, 4:47 PM · Abstract Wikipedia, Abstract Wikipedia team, function-orchestrator, Wikifunctions
GrounderUK closed T261460: Pair a function with its inverse function for testing as Resolved.

Now that we can have arbitrary function calls in a test case, and can check intermediate results with Z854, I think we can call this closed, thank you.

Mar 29 2026, 4:25 PM · Abstract Wikipedia team

Mar 28 2026

GrounderUK added a comment to T420345: FIX NOW: Unresolved Z11K1 in results.

This may be related. I had to apply an emergency fix to Z11s display function, which has only a Python implementation, which was:

def Z21583(Z21583K1, Z21583K2):
	if Z21583K1.Z11K1 == Z21583K2:
		return Z21583K1.Z11K2
	else:
		return f"({Z21583K1.Z11K1.Z60K1}) {Z21583K1.Z11K2}"

The Z11 in K1 contains a ZReference whereas the Z60 in K2 has a language tag in Z60K1. The initial condition is now always False and attempting to access the Z60K1 of the ZReference naturally fails. The emergency fix simply returns the Z11K2 unconditionally, which is misleading. The alternative is to return the Z11K1.Z9K1 as well (in all cases), which is generally unhelpful.

Mar 28 2026, 5:05 PM · Abstract Wikipedia, Patch-For-Review, OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator
GrounderUK updated subscribers of T420747: Display details of errors in Abstract Wikipedia article previews so that users can go fix issues.

More detail will be useful but we should also cater for new contributors (in particular) by providing a call-to-action for any error result.

Mar 28 2026, 2:33 PM · OKR-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Abstract Wikipedia, WikiLambda Front-end

Mar 27 2026

GrounderUK added a comment to T421506: [composition v2] Failure to check input type causing "cannot read property 'Z9K1' of undefined".

I wouldn’t object to Option 1 as a matter of principle, but it would seem to be considerably more expensive than the “expensive” type comparison in Option 3. It’s virtually free at the point of executing the guard, but that’s a bit late when the whole of Q30 has been shipped across along with the invalid argument.

Mar 27 2026, 8:58 PM · Essential-Work, Abstract Wikipedia, function-orchestrator, Abstract Wikipedia team
GrounderUK added a comment to T421540: [composition v2] Z803( Z6K1, "some string" ) fails with unhandled TypeError: Cannot read properties of undefined (reading 'Z1K1').

It would be better for the string value to be returned, since that is the object’s Z6K1 when normalised. If this is objected to, the error should be Key not found, since the particular representation lacks a key with the specified reference. But see my first sentence and T389487.

Mar 27 2026, 8:33 PM · Essential-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), Abstract Wikipedia, function-orchestrator

Mar 26 2026

GrounderUK added a comment to T389487: Z903 fails for strings.

With v2, Z1K1 now succeeds but Z6K1 still fails:

Mar 26 2026, 11:32 PM · Abstract Wikipedia team
GrounderUK created T421391: Z803 fails for a Z14 object: all Key references.
Mar 26 2026, 2:46 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK created T421347: Z1K1 of function objects not found.
Mar 26 2026, 10:17 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK changed the subtype of T421322: Z101 and Z104 now result in an error causing temporary failure of most Abstract Wikipedia content from "Task" to "Bug Report".
Mar 26 2026, 9:08 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK renamed T421322: Z101 and Z104 now result in an error causing temporary failure of most Abstract Wikipedia content from Z101 and Z104 now result in an error to Z101 and Z104 now result in an error causing temporary failure of most Abstract Wikipedia content.
Mar 26 2026, 9:07 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK updated the task description for T421322: Z101 and Z104 now result in an error causing temporary failure of most Abstract Wikipedia content.
Mar 26 2026, 12:27 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK renamed T421322: Z101 and Z104 now result in an error causing temporary failure of most Abstract Wikipedia content from Z101 now results in an error to Z101 and Z104 now result in an error.
Mar 26 2026, 12:26 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 25 2026

GrounderUK created T421322: Z101 and Z104 now result in an error causing temporary failure of most Abstract Wikipedia content.
Mar 25 2026, 10:30 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 23 2026

GrounderUK added a comment to T420868: Make it possible for Wikifunctions calls to output directives to show images in Abstract Wikipedia articles.

It has been simplewiki’s policy for twenty years now, so I wouldn’t expect it to be an issue.

Mar 23 2026, 2:56 PM · OKR-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Abstract Wikipedia

Mar 18 2026

GrounderUK added a comment to T419833: A composition of predefined functions returns an error rather than the expected Boolean representing the error state (from K1 from Z853).

You mean that when quoting a function call we somehow get both the literal function-call object as data (quoted) and, separately, the scope of its construction, to which its argument references refer? Sounds more like the best of both worlds than a “happy medium” - a limited and specialised closure.

Mar 18 2026, 7:58 PM · Patch-For-Review, OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK added a comment to T420333: Z886 and Z868 have no connected implementations; should we just drop them instead of leaving them bereft?.

No, if v2 isn’t supposed to be fixing these functions then there’s no issue, only opportunity!

Mar 18 2026, 3:55 PM · Abstract Wikipedia team
GrounderUK added a comment to T420456: In the default collapsed view, all strings appear as ⧼quotation-marks⧽.

Thanks. It’s not a huge issue but it seems to be happening “all the time”, just so you know.

Mar 18 2026, 1:33 PM · MW-1.46-notes (1.46.0-wmf.20; 2026-03-17), WikiLambda Front-end, Regression, Abstract Wikipedia team (26Q3 (Jan–Mar)), Essential-Work
GrounderUK created T420456: In the default collapsed view, all strings appear as ⧼quotation-marks⧽.
Mar 18 2026, 11:41 AM · MW-1.46-notes (1.46.0-wmf.20; 2026-03-17), WikiLambda Front-end, Regression, Abstract Wikipedia team (26Q3 (Jan–Mar)), Essential-Work
GrounderUK added a comment to T419833: A composition of predefined functions returns an error rather than the expected Boolean representing the error state (from K1 from Z853).

[…snip…]

Z30928 will therefore need to be changed. I suggest something like

Z30928 = function ( quotedFunctionCall ) {
    return builtinValueByKey(
        'K1',
        builtinGetError( builtinUnquote( quotedFunctionCall ) )
    );
}

i.e., the argument should be a Z99 wrapping a Z7, and the argument to Z853 should be the result of Z899 called on the quoted Z7.

Mar 18 2026, 11:22 AM · Patch-For-Review, OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 17 2026

GrounderUK created T420333: Z886 and Z868 have no connected implementations; should we just drop them instead of leaving them bereft?.
Mar 17 2026, 11:52 AM · Abstract Wikipedia team

Mar 16 2026

GrounderUK added a comment to T373607: Tests whose evaluation results in an error showing as Passed.

Quite possibly. Please see T420225.

Ran into this today. See e.g. the test cases for Z12427/is prime - for several of the "is not prime" tests (for a specific example, test "2147483647^2 is not prime", implementation "is prime (Python)"), the test displays as "Passed" for a number of implementations, but clicking on the details reveals that the test had an error: "Reached time limit in evaluator".

I believe that the reason why it shows as passed is because it passes Z24/void to Z844/Boolean equality, and the built-in implementation of Z844 considers Z24/void to be equivalent to Z42/false - see test case Z24790. I would consider changing this behavior in the built-in implementation or changing the definition of "passed" for a test to not include evaluations with errors.

Mar 16 2026, 3:44 PM · WikiLambda, Abstract Wikipedia team
GrounderUK created T420225: Z844/Boolean equality treats a non-Boolean argument as False.
Mar 16 2026, 3:36 PM · function-orchestrator, Essential-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK added a comment to T417631: Z866/string equality returns True or False when arguments are different and at least one is a Typed pair.

I believe that this is now fixed with v2 (though note we're returning Z516/Argument value errors not Z506/Argument type mismatches).

Mar 16 2026, 11:42 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 14 2026

GrounderUK added a comment to T419920: python evaluation error: function call: "'dict' object has no attribute 'split'".

Referenced in Wikifunctions:Community portal#Tasks listed by users

Mar 14 2026, 11:31 AM · Patch-For-Review, OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 13 2026

GrounderUK renamed T420021: standard calls to Z828 fail from standard called to Z828 fail to standard calls to Z828 fail.
Mar 13 2026, 10:33 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK created T420021: standard calls to Z828 fail.
Mar 13 2026, 4:25 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK added a comment to T419789: language configurations for displays don't seem to work anymore.

I’ve disconnected the “preferred” JavaScript implementation (Z14403) for now.

Mar 13 2026, 12:54 PM · Essential-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), Patch-For-Review

Mar 12 2026

GrounderUK created T419924: Function: is void (Z17180) returns True for a Z21 and False for Z24.
Mar 12 2026, 11:53 PM · function-orchestrator, OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK added a comment to T411565: Z802/if treats an instance of a Typed list, a Typed pair, a Typed map or Void as False, rather than as non-Boolean.

Thanks for the update.

Are similar manifestations also expected to be fixed?

Yes, possibly; we should evaluate each issue on its own though! Thank you for highlighting.

I’ll be checking the tickets I’ve raised, as and when time allows.

For example, error returned for non-Boolean argument (Z31987) succeeds with only one of ten implementations

This now passed for three of the ten (in edit mode to not get the cached results). Not sure if that's good enough?

Mar 12 2026, 9:49 PM · Abstract Wikipedia team (26Q3 (Jan–Mar)), OKR-Work
GrounderUK added a comment to T419779: Z1K1 of Boolean not found.

Z903 still fails to return Z1K1 or Z6K1 for a string, but we no longer get an explicit Z507/evaluation failure. I’m not sure if fixing T389487 is in scope, but the error now is:

Mar 12 2026, 2:03 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK created T419833: A composition of predefined functions returns an error rather than the expected Boolean representing the error state (from K1 from Z853).
Mar 12 2026, 12:23 PM · Patch-For-Review, OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Mar 11 2026

GrounderUK created T419779: Z1K1 of Boolean not found.
Mar 11 2026, 11:51 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))
GrounderUK added a comment to T411565: Z802/if treats an instance of a Typed list, a Typed pair, a Typed map or Void as False, rather than as non-Boolean.

Looking good now, thanks!

Mar 11 2026, 11:18 PM · Abstract Wikipedia team (26Q3 (Jan–Mar)), OKR-Work

Mar 10 2026

GrounderUK created T419561: Provide a new built-in function that returns a list of Wikidata lexeme references, given a string.
Mar 10 2026, 3:45 PM · Abstract Wikipedia team
GrounderUK added a comment to T411565: Z802/if treats an instance of a Typed list, a Typed pair, a Typed map or Void as False, rather than as non-Boolean.

Thanks for the update.

Mar 10 2026, 1:04 PM · Abstract Wikipedia team (26Q3 (Jan–Mar)), OKR-Work

Feb 18 2026

GrounderUK added a comment to T413731: Consider what to do with validation.

Most critically, I would say it is at the interface between functions. A called function benefits from static guarantees provided by the composition itself, but if the interface is not strictly typed on both sides, that guarantee can fail at runtime, with downstream consequences that are difficult to trace (or even identify as having occurred), especially when the interface is encapsulated within another function.

Feb 18 2026, 2:25 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator
GrounderUK added a comment to T413731: Consider what to do with validation.

I’ve raised a couple of tickets relating to type-guarantee failures: T411565 and T417631. These guarantees are currently costly to enforce in user functions. See, for example apply two-argument function: validated arguments (Z31684), with this test.

Feb 18 2026, 11:42 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator

Feb 17 2026

GrounderUK created T417631: Z866/string equality returns True or False when arguments are different and at least one is a Typed pair.
Feb 17 2026, 11:31 AM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Feb 12 2026

GrounderUK added a comment to T417018: Support Tail Recursion (at Least When Using the Tail Function).

Nice! There’s some problem with the function signature, for which I’ve filed a ticket. I’ve also used the function in:

Feb 12 2026, 12:32 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator
GrounderUK created T417266: Specifying a Typed pair of Typed lists as a function’s argument type leads to [object Object] “Reference” when used.
Feb 12 2026, 12:13 PM · Essential-Work, function-orchestrator, Abstract Wikipedia team

Feb 11 2026

GrounderUK added a comment to T417018: Support Tail Recursion (at Least When Using the Tail Function).

Sounds like fun! I’ve recently added prepend reversed first list to second list (Z31580) as a “primitive” reversal function. It scales reasonably well, but can we look forward to significant improvement with V2 tail-call optimisation? One thing I noticed is that the type for the result list is de-referenced to a full type object on recursion, which seems undesirable.

Feb 11 2026, 1:38 PM · OKR-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), function-orchestrator
GrounderUK added a comment to T406784: An outdated version of an amended implementation may be used for several hours.

Any chance of an update on this one, please? Is the time taken for the system to fix itself predictable?

Feb 11 2026, 9:47 AM · Abstract Wikipedia, WikiLambda, Abstract Wikipedia team

Feb 4 2026

GrounderUK added a comment to T407932: Provide a mechanism by which Functions can opt-out of type conversion, as some edge cases need special handling (like non-simplified fractions in Wikidata quantities).

Please see the Project Chat topic List typing still annoying, which references this ticket.

Feb 4 2026, 10:45 AM · Abstract Wikipedia team

Feb 3 2026

GrounderUK updated subscribers of T407932: Provide a mechanism by which Functions can opt-out of type conversion, as some edge cases need special handling (like non-simplified fractions in Wikidata quantities).

I’m not sure how we could apply an absence of conversion to a returned value, other than by returning a map or using ZObject(), ZReference() or ZPair(). Given that we now have those options, we might consider converting numbers by default, according to their native type, I suppose, but if the function’s return type is explicit, it should be respected.

An example of where we need close-to-raw returned values is https://www.wikifunctions.org/view/en/Z26982 (equal rational with numerator length). The crucial requirement is that we separately return each of the keys of the object we are returning, and they don't get messed with during the conversion from code. Can we already do this with ZObject()?

Feb 3 2026, 10:47 AM · Abstract Wikipedia team

Feb 2 2026

GrounderUK added a comment to T407932: Provide a mechanism by which Functions can opt-out of type conversion, as some edge cases need special handling (like non-simplified fractions in Wikidata quantities).
  • Does this only apply to inputs? To outputs? To only some inputs? Etc.

Some of the other answers may depend on the decision here, so I'll answer it first. I suppose the ultra-flexible ideal would be to selectively apply to whichever inputs and outputs the implementation creator chooses. My specific proposal is for all inputs and all outputs, because I expect that will be easier to design, because this will only be needed in rare circumstances, because it does allow code to access everything, and because those who use it will be willing to go the extra mile on raw-processing other inputs/outputs if they need it for one. I'm open to seeing different designs before weighing in on whether I expect they would work.

Feb 2 2026, 6:08 PM · Abstract Wikipedia team

Jan 28 2026

GrounderUK added a comment to T415695: Function Evaluation: Instead of showing "void" when there's an error, show a UX component that the request failed.

I don’t object to “void” but it would seem more helpful, in general, to surface the explicit error. Without actually designing the user experience, I’d say we will always want to be able to see both parts of the response. I’m wary of shuffling things around according to the state of the response, but a stronger signal that there is an error might be achieved by just showing a link to the relevant error type. For consistency, a no-error link or text might be shown for a successful evaluation.

Jan 28 2026, 9:58 AM · MW-1.46-notes (1.46.0-wmf.26; 2026-04-28), Design, OKR-Work, Abstract Wikipedia team (26Q4 (Apr–Jun)), WikiLambda Front-end, WikiLambda

Jan 18 2026

GrounderUK added a comment to T389183: functions returning a Type don't work as expected.

Ah, I see. I think we will be phasing that kind of validation out, so it is not (or will not be, in the near future) by design that a type would need to be validated.

Jan 18 2026, 3:43 PM · Essential-Work, Abstract Wikipedia team (26Q3 (Jan–Mar))

Jan 11 2026

GrounderUK added a comment to T411947: Wikidata import: always create values for Z6003K5/qualifiers and Z6003K6/references.

I don't mind changing it, but it appears to be passing all implementations at the moment?

Jan 11 2026, 12:18 PM · Abstract Wikipedia team (26Q3 (Jan–Mar)), Essential-Work, Abstract Wikipedia Fix-It tasks, function-orchestrator

Jan 9 2026

GrounderUK updated subscribers of T411947: Wikidata import: always create values for Z6003K5/qualifiers and Z6003K6/references.

As expected, some test cases were failing when revisited in edit mode and passing when an empty list replaced the call to nullary void (Z26199) for the arguments to emulate Wikidata statement object (Z23723).

Jan 9 2026, 3:36 PM · Abstract Wikipedia team (26Q3 (Jan–Mar)), Essential-Work, Abstract Wikipedia Fix-It tasks, function-orchestrator
GrounderUK added a comment to T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type.

It seems I was repeating myself, sorry.

Jan 9 2026, 12:18 PM · Abstract Wikipedia team
GrounderUK merged T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type into T410501: For pre-defined objects, Z828/fetch Persistent object fetches from disk and so omits any user-made changes, e.g. aliases or non-en content.
Jan 9 2026, 12:13 PM · Performance Issue, function-orchestrator, Abstract Wikipedia team
GrounderUK merged task T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type into T410501: For pre-defined objects, Z828/fetch Persistent object fetches from disk and so omits any user-made changes, e.g. aliases or non-en content.
Jan 9 2026, 12:13 PM · Abstract Wikipedia team
GrounderUK updated the task description for T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type.
Jan 9 2026, 11:53 AM · Abstract Wikipedia team
GrounderUK renamed T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type from Fetch persistent object (Z828) returns only “en” values for persistent objects that are a Type to Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type.
Jan 9 2026, 11:52 AM · Abstract Wikipedia team
GrounderUK added a comment to T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type.

The problem here is that the orchestrator entirely ignores the on-wiki version of pre-defined persistent objects (ZID < 10k). I'm not sure we want to re-open that performance issue?

Maybe not, but we do want Z828 to do what it is designed to do. It works for Z60s, so I don’t think it’s a problem with all pre-defined Persistent objects, just Types.

Jan 9 2026, 11:48 AM · Abstract Wikipedia team
GrounderUK renamed T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type from Fetch persistent object (Z828) returns only “en” values persistent objects that are a Type to Fetch persistent object (Z828) returns only “en” values for persistent objects that are a Type.
Jan 9 2026, 11:34 AM · Abstract Wikipedia team
GrounderUK created T414181: Fetch persistent object (Z828) returns only “en” values for pre-defined persistent objects that are a Type.
Jan 9 2026, 11:33 AM · Abstract Wikipedia team

Jan 8 2026

GrounderUK added a comment to T409229: Quote objects constructed in the user interface cannot be used in function evaluations or code implementations.

I think it is the same issue, but it should already be covered under T405411 anyway, if not. Original report:

Trying non-builtin implementations of echo, the Python error is:
Jan 8 2026, 7:02 PM · Abstract Wikipedia team (26Q4 (Apr–Jun)), Essential-Work, Patch-For-Review, WikiLambda Front-end, function-orchestrator
GrounderUK reopened T409229: Quote objects constructed in the user interface cannot be used in function evaluations or code implementations as "Open".

A quoted reference still fails to reach Python or JavaScript code.

Jan 8 2026, 11:29 AM · Abstract Wikipedia team (26Q4 (Apr–Jun)), Essential-Work, Patch-For-Review, WikiLambda Front-end, function-orchestrator

Dec 22 2025

GrounderUK added a comment to T373607: Tests whose evaluation results in an error showing as Passed.

Another example is (!) Z1K1.Z1K1.Z9K1 is "Z7" (Z16887). It was connected in error over a year ago but, as luck would have it, never became the preferred implementation (or perhaps implementation selection counts failures correctly).

Dec 22 2025, 11:07 PM · WikiLambda, Abstract Wikipedia team

Dec 19 2025

GrounderUK added a comment to T404725: Evaluations returning Void are flagged as invalid results in the details even when Void is the expected and correct result.

Thanks. We don’t get to see the detail, but we do get a well-formed Unit, as far as I can tell.

Dec 19 2025, 11:54 AM · WikiLambda Front-end, Abstract Wikipedia team
GrounderUK added a comment to T351770: Testers moved from one Function to another still show in old Function’s Implementation’s Function Report widget.

I agree with your final recommendations.

Dec 19 2025, 11:36 AM · Essential-Work, Abstract Wikipedia team (26Q3 (Jan–Mar)), WikiLambda
GrounderUK closed T366246: fetch Persistent object (Z828) errors in evaluation (in test case) as Resolved.

Finally… Thanks!

Dec 19 2025, 11:16 AM · Abstract Wikipedia team, Wikifunctions

Dec 18 2025

GrounderUK added a comment to T404725: Evaluations returning Void are flagged as invalid results in the details even when Void is the expected and correct result.

Adding example function calls (because we can, thanks). Correctly echoing is no kind of error.

Dec 18 2025, 11:24 AM · WikiLambda Front-end, Abstract Wikipedia team
GrounderUK added a comment to T405411: Passing tests produce error after Publish ("'str' object has no attribute 'get'").

I suspect this is a side-effect of T409229.

Dec 18 2025, 11:08 AM · Abstract Wikipedia team
GrounderUK added a comment to T405837: enable ZReference for Python and JavaScript implementations.

This is now working, as confirmed by Reference from ZID string (Z29102). Happy for it to be closed, but I expect you’ll want to link it to the change etc.

Dec 18 2025, 10:50 AM · Abstract Wikipedia team
GrounderUK added a comment to T406784: An outdated version of an amended implementation may be used for several hours.

I had a slightly different manifestation recently. this was failing in edit mode. It passed as soon as it was published but went back to failing again after visiting the function page, where it showed as passing… it may be that the 22:44 edit on the test case caused the reversion.

Dec 18 2025, 10:20 AM · Abstract Wikipedia, WikiLambda, Abstract Wikipedia team
GrounderUK closed T407207: Silent failure on Publish as Resolved.

@GrounderUK Do you think its ok with the message for now? If so, close it?

I haven’t been so actively distracted recently, so I’ve yet to see the message on failure. I’ll re-open if I should happen to get a silent failure in the future. Thank you.

Dec 18 2025, 9:52 AM · Essential-Work, MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Abstract Wikipedia team (26Q2 (Oct–Dec)), WikiLambda, WikiLambda Front-end
GrounderUK added a comment to T408969: Error in the function call API: for Z29148 (referencing configuration Z16435).

I’ve removed Russian from the configuration. If the occasional failures in wikilambda_fetch are logged, I think this can be closed.

Dec 18 2025, 9:37 AM · function-orchestrator, Abstract Wikipedia team

Dec 11 2025

GrounderUK closed T405839: About box editing for labels seems to have problems with functions that have ten+ arguments as Resolved.

Testing…

Looking good, thanks. Closing per request.

Dec 11 2025, 1:12 PM · Essential-Work, Abstract Wikipedia Fix-It tasks, Abstract Wikipedia team (26Q2 (Oct–Dec)), WikiLambda Front-end