⚓ T289687 Allow users to create instances of errors in composition
Page Menu
Phabricator
Create Task
Maniphest
T289687
Allow users to create instances of errors in composition
Closed, Resolved
Public
Actions
Edit Task
Edit Related Tasks...
Create Subtask
Edit Parent Tasks
Edit Subtasks
Merge Duplicates In
Close As Duplicate
Edit Related Objects...
Edit Commits
Edit Mocks
Mute Notifications
Protect as security issue
Assigned To
cmassaro
Authored By
DVrandecic
Aug 25 2021, 1:59 PM
2021-08-25 13:59:22 (UTC+0)
Tags
Abstract Wikipedia team (Phase η – Generic types)
(QA / Ready to close)
Patch-For-Review
MW-1.38-notes (1.38.0-wmf.22; 2022-02-14)
Referenced Files
None
Subscribers
DVrandecic
Jdforrester-WMF
Description
It seems I cannot create instances of errors.
(Which kinda makes sense, since error types are not types).
There are a few possible approaches to that:
a) bespoke implementation to make this happen
b) create a function that takes an error type and returns a type, which then is used
On first thought, I prefer b over a.
Introduce Z820/Trigger Metadata (and Z921) in the shared definitions.
Provide it as a built-in and wire it up in the orchestrator.
Document it on meta.
Details
Related Changes in Gerrit:
Subject
Repo
Branch
Lines +/-
Update function-schemata sub-module to HEAD (0d127c2)
mediawiki/services/function-evaluator
master
+147
-188
Update function-schemata sub-module to HEAD (0d127c2)
mediawiki/services/function-orchestrator
master
+1
-1
Update function-schemata sub-module to HEAD (0d127c2)
mediawiki/extensions/WikiLambda
master
+1
-1
definitions: Add Z820/Trigger Metadata and built-in implementation
mediawiki/services/function-schemata
master
+77
-0
Add builtin throw function to allow user definition of errors in compositions.
mediawiki/services/function-orchestrator
master
+201
-8
Customize query in gerrit
Related Objects
Search...
Task Graph
Mentions
Status
Subtype
Assigned
Task
Open
None
T278321
Provide a special page listing invalid ZObjects
Open
None
T278318
Let users validate an unstored ZObject / edit on a ZObject
Stalled
None
T269177
ZObject DAO should have a isWellFormed method
Resolved
cmassaro
T260861
Use the orchestrator/evaluator to validate instances of each Z4/Type using on-wiki defined Z8/Functions instead of hard-coded
Open
None
T278316
Provide a validation API endpoint for arbitrary ZObjects from both MediaWiki and the orchestrator
Open
None
T292240
Save Un- (or Under-) Validated ZObjects, Validate Asynchronously via Orchestrator, Then Annotate ZObjects As Valid or Not
Open
None
T278325
Store that a page contains an invalid ZObject in a tracking table
Open
None
T278320
Allow to store an invalid ZObject explicitly, so we can have failure examples for Validator functions' Testers
Open
None
T294045
Create a "Validate" Endpoint in Orchestrator
Duplicate
None
T273125
Migrate hard-coded validators to validation defined on-wiki
Open
None
T278319
Provide functionality for users to trigger a re-validation of a stored object
Resolved
None
T290119
Phase η root task
Resolved
None
T290118
User-defined types work with validation
Resolved
cmassaro
T288555
Support serialisation/deserialisation of user-defined types
Resolved
BUG REPORT
cmassaro
T290122
"Could not deserialize input ZObject type: Z86"
Resolved
cmassaro
T287263
Deserialize Objects in Evaluator Based on Z7K1.Z8K2
Resolved
None
T275941
Extend the system to support generated instances of Z4/ZTypes by parameterised functions ("Generic types")
Resolved
gengh
T277000
Validate a Z7/Function call in the wiki
Resolved
gengh
T281386
Use the formal ZObject validation definitions from the function-schemata repo in the ZObjectFactory validation code
Declined
Lindsaykwardell
T282745
Add function-schemata to frontend in order to remedy hybrid forms
Resolved
Lindsaykwardell
T282816
Use canonicalizer to display JSON
Resolved
cmassaro
T284474
Add tests for normalize/canonicalize code in frontend.
Resolved
cmassaro
T284764
Fix Canonicalization Code in Frontend to Handle Z6s That Masquerade as Z9s
Resolved
None
T291033
A function call used as an argument should validate its return type against the expected type of the argument
Resolved
None
T291034
Every argument of a function call with a literal or reference should be of a type compatible for that argument
Resolved
cmassaro
T291032
Arguments taking a function should validate functions as values
Resolved
None
T291040
Generic functions
Invalid
None
T291037
Function model: update functions to the new generic types
Invalid
gengh
T291038
Function model: updates to the data model to implement generic types
Resolved
DVrandecic
T287196
Update Pre-Generic Function Model
Resolved
DVrandecic
T287195
Function model: Z21 should be updated to be the null value of Unit
Resolved
DVrandecic
T287194
Function model: Z8K5 is a Z8/Function not a Z6/String, regardless of what our code says
Resolved
SimoneThisDot
T303302
Validate that the UX works with typed list for core types (e.g. Z4 has a typed list of Z3s)
Resolved
SimoneThisDot
T304101
Change the Type UX so that it works (viewing/creating/editing) with a typed list of Z3s for Z4K2
Resolved
JKieserman
T303303
Change the pre-defined core types to use typed lists and not general lists
Resolved
None
T291039
Functions using generic types as input types or output type can be defined and implemented
Resolved
None
T291045
Function created by a generic function call can be evaluated
Resolved
Jdforrester-WMF
T291046
Generic functions can be evaluated
Resolved
None
T291047
Generic functions can be implemented
Resolved
None
T291048
Generic functions can be defined
Declined
None
T291036
Function model: Z8 should change from a type to a function taking a type and a list of types and returning a type
Resolved
SimoneThisDot
T291041
Instances of a generic type are displayed correctly
Resolved
SimoneThisDot
T291042
Instances of generic types can be edited
Resolved
cmassaro
T291044
Instances of generic types are being validated
Resolved
cmassaro
T285260
Orchestrator Top-Level Validation Should Check Z1K1
Resolved
SimoneThisDot
T297244
Let front-end users create and edit instances of any generic type
Resolved
SimoneThisDot
T291043
Instances of generic typed lists can be created
Resolved
cmassaro
T266241
Normalizer and canonicalizer should deal with local and global keys
Resolved
cmassaro
T289681
Composition creating a type doesn't evaluate
Resolved
BUG REPORT
Jdforrester-WMF
T292890
Trying to create a Z14 throws "Cannot read properties of undefined (reading 'filter')" in Vue code
Resolved
SimoneThisDot
T295470
Change the type search API to allow users to search for functions returning a type in addition to instances of that type
Resolved
gengh
T262089
Store type identity output in wikilambda_zobject_labels table
Resolved
gengh
T297925
Change object search API to optionally include functions' return types as the 'type' filter
Resolved
cmassaro
T286975
Make it possible to define the Typed List function fully
Resolved
cmassaro
T287102
Resolve Z18s Wherever They Occur
Resolved
Jdforrester-WMF
T291049
Function that takes a type and returns a type can be evaluated
Resolved
DVrandecic
T291050
Functions that take a type and return a type can be implemented
Resolved
DVrandecic
T291051
Functions that take a type and return a type can be defined
Resolved
Jdforrester-WMF
T293663
Fix instancePath vs. dataPath in function-schemata, Add Tests
Resolved
cmassaro
T292808
Use type inference logic to serialize the return type of functions which return a generic ZObject (Z8K2 === Z1)
Resolved
SimoneThisDot
T291023
Instances of user-defined types can be entered using the default component
Resolved
Jdforrester-WMF
T291029
Instances of a user-defined type can be edited
Resolved
DVrandecic
T291025
Make it possible to define and implement functions using user-defined types as output or an input type
Resolved
None
T291028
Instances of a user-defined type which should not validate indeed do not validate
Resolved
None
T273124
Use evaluation for validation
Resolved
cmassaro
T260321
Allow users to trigger function calls for built-in functions (orchestrator-only)
Resolved
DVrandecic
T261964
Agree on architecture for first evaluation engine
Resolved
Lindsaykwardell
T280558
Normalize Inputs to Orchestrator
Resolved
arthurlorenzi
T275095
Move normalization and canonicalization code to function-schemata
Resolved
None
T262770
Normalize ZObjects
Invalid
None
T280559
Retrieve Function Signature from Orchestrator
Resolved
cmassaro
T282843
Hook up orchestrator to the evaluator and pass through appropriately-dereferenced Z7 calls
Resolved
cmassaro
T271762
Create initial Function Evaluator service
Resolved
cmassaro
T269697
Turn Function Evaluator into a service
Resolved
cmassaro
T269698
Make Function Evaluator work async
Resolved
cmassaro
T272630
Define interface for the function-evaluator
Resolved
Jdforrester-WMF
T276478
Provide "semantically peel-able" list of programming languages that we allow
Resolved
cmassaro
T273515
Create Execution Environments for Supported Languages
Resolved
cmassaro
T273517
Create Execution Environment for Python
Resolved
cmassaro
T275944
Create Execution Environment for JavaScript
Resolved
None
T261470
Sandboxing and monitoring of evaluations
Resolved
SimoneThisDot
T291022
Validators for user-defined types can be defined and linked
Resolved
Jdforrester-WMF
T291031
Validator implementations can call Z101/object validator, and then add to it
Resolved
cmassaro
T262997
Validate the values on the keys on a user-defined type
Resolved
cmassaro
T291030
Validator of a user-defined type can be implemented
Resolved
cmassaro
T291026
Let user implementations throw a user-defined error during a user-defined validation
Resolved
AdesojiThisDot
T293742
Navigate to "provide tests" after user define function, instead than to the newly defined object
Resolved
gengh
T287746
Update meta page about representation of errors with all the latest conversation/decisions
Resolved
gengh
T288123
Re-work Z5/Error model and handling
Resolved
gengh
T287734
Replace wikilambda extension php validation code with call to schemata validation
Resolved
cmassaro
T276369
Create PHP bindings for function-schemata
Resolved
cmassaro
T289687
Allow users to create instances of errors in composition
Resolved
gengh
T287700
Make error generation code produce an understandable result when called with non-existent arguments
Mentioned In
rMSFEa04ac6f67caf: Update function-schemata sub-module to HEAD (0d127c2)
rMSFO630893949880: Update function-schemata sub-module to HEAD (0d127c2)
rMSFS0d127c27192d: definitions: Add Z820/Trigger Metadata and built-in implementation
rMSFOa58ab3286ef9: Add builtin throw function to allow user definition of errors in compositions.
Event Timeline
DVrandecic
created this task.
Aug 25 2021, 1:59 PM
2021-08-25 13:59:22 (UTC+0)
Jdforrester-WMF
renamed this task from
Need to create instances of errors in composition
to
Allow users to create instances of errors in composition
Aug 25 2021, 4:42 PM
2021-08-25 16:42:59 (UTC+0)
DVrandecic
moved this task from
To Triage
to
Phase η – Generic types
on the
Abstract Wikipedia team
board.
Aug 25 2021, 4:43 PM
2021-08-25 16:43:02 (UTC+0)
DVrandecic
edited projects, added
Abstract Wikipedia team (Phase η – Generic types)
; removed
Abstract Wikipedia team
Jdforrester-WMF
added a parent task:
T288123: Re-work Z5/Error model and handling
Sep 15 2021, 8:13 PM
2021-09-15 20:13:15 (UTC+0)
DVrandecic
triaged this task as
Medium
priority.
Oct 6 2021, 4:39 PM
2021-10-06 16:39:02 (UTC+0)
Jdforrester-WMF
assigned this task to
DVrandecic
Oct 27 2021, 4:54 PM
2021-10-27 16:54:54 (UTC+0)
Jdforrester-WMF
moved this task from
Incoming
to
QA / Ready to close
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
DVrandecic
removed
DVrandecic
as the assignee of this task.
Nov 3 2021, 4:21 PM
2021-11-03 16:21:34 (UTC+0)
DVrandecic
moved this task from
QA / Ready to close
to
Needs discussion/DoD
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
Jdforrester-WMF
added a parent task:
T291026: Let user implementations throw a user-defined error during a user-defined validation
Nov 10 2021, 5:44 PM
2021-11-10 17:44:45 (UTC+0)
DVrandecic
moved this task from
Needs discussion/DoD
to
Ready to do
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
Nov 10 2021, 5:44 PM
2021-11-10 17:44:56 (UTC+0)
Jdforrester-WMF
subscribed.
Jan 24 2022, 8:45 PM
2022-01-24 20:45:56 (UTC+0)
Comment Actions
Is this ready to do? I think this needs definition of what changes and what the DoD is.
Jdforrester-WMF
added a comment.
Jan 25 2022, 7:01 PM
2022-01-25 19:01:57 (UTC+0)
Comment Actions
In discussion with Cory, I think we should make this as a Z820/Raise metadata function that takes a Z6 and a Z1, and if the Z6 is 'error' injects the Z1 (a Z5) into the Z22K2 return value.
gerritbot
added a comment.
Jan 26 2022, 5:08 PM
2022-01-26 17:08:30 (UTC+0)
Comment Actions
Change 757096 had a related patch set uploaded (by Cory Massaro; author: Cory Massaro):
[mediawiki/services/function-orchestrator@master] Add builtin throw function to allow user definition of errors in compositions.
gerritbot
added a project:
Patch-For-Review
Jan 26 2022, 5:08 PM
2022-01-26 17:08:31 (UTC+0)
gerritbot
added a comment.
Jan 26 2022, 5:14 PM
2022-01-26 17:14:51 (UTC+0)
Comment Actions
Change 757096
merged
by jenkins-bot:
[mediawiki/services/function-orchestrator@master] Add builtin throw function to allow user definition of errors in compositions.
cmassaro
mentioned this in
rMSFOa58ab3286ef9: Add builtin throw function to allow user definition of errors in compositions.
Jan 26 2022, 5:15 PM
2022-01-26 17:15:30 (UTC+0)
Jdforrester-WMF
changed the task status from
Open
to
In Progress
Jan 26 2022, 5:19 PM
2022-01-26 17:19:13 (UTC+0)
Jdforrester-WMF
assigned this task to
cmassaro
Jdforrester-WMF
updated the task description.
(Show Details)
Jdforrester-WMF
moved this task from
Ready to do
to
In progress
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
Maintenance_bot
removed a project:
Patch-For-Review
Jan 26 2022, 6:11 PM
2022-01-26 18:11:34 (UTC+0)
cmassaro
moved this task from
In progress
to
QA / Ready to close
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
Jan 26 2022, 8:19 PM
2022-01-26 20:19:19 (UTC+0)
DVrandecic
moved this task from
QA / Ready to close
to
Ready to do
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
Feb 8 2022, 5:27 PM
2022-02-08 17:27:27 (UTC+0)
gerritbot
added a comment.
Feb 8 2022, 8:05 PM
2022-02-08 20:05:07 (UTC+0)
Comment Actions
Change 761041 had a related patch set uploaded (by Jforrester; author: Cory Massaro):
[mediawiki/services/function-schemata@master] definitions: Add Z820/Trigger Metadata and built-in implementation
gerritbot
added a project:
Patch-For-Review
Feb 8 2022, 8:05 PM
2022-02-08 20:05:07 (UTC+0)
gerritbot
added a comment.
Feb 8 2022, 8:15 PM
2022-02-08 20:15:00 (UTC+0)
Comment Actions
Change 761041
merged
by jenkins-bot:
[mediawiki/services/function-schemata@master] definitions: Add Z820/Trigger Metadata and built-in implementation
Jdforrester-WMF
mentioned this in
rMSFS0d127c27192d: definitions: Add Z820/Trigger Metadata and built-in implementation
Feb 8 2022, 8:15 PM
2022-02-08 20:15:08 (UTC+0)
Jdforrester-WMF
updated the task description.
(Show Details)
Feb 8 2022, 8:33 PM
2022-02-08 20:33:52 (UTC+0)
Jdforrester-WMF
moved this task from
Ready to do
to
QA / Ready to close
on the
Abstract Wikipedia team (Phase η – Generic types)
board.
Maintenance_bot
removed a project:
Patch-For-Review
Feb 8 2022, 9:11 PM
2022-02-08 21:11:26 (UTC+0)
gerritbot
added a comment.
Feb 9 2022, 9:50 PM
2022-02-09 21:50:47 (UTC+0)
Comment Actions
Change 761474 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/services/function-orchestrator@master] Update function-schemata sub-module to HEAD (0d127c2)
gerritbot
added a project:
Patch-For-Review
Feb 9 2022, 9:50 PM
2022-02-09 21:50:47 (UTC+0)
Comment Actions
Change 761475 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/extensions/WikiLambda@master] Update function-schemata sub-module to HEAD (0d127c2)
gerritbot
added a comment.
Feb 9 2022, 9:52 PM
2022-02-09 21:52:05 (UTC+0)
Comment Actions
Change 761476 had a related patch set uploaded (by Jforrester; author: Jforrester):
[mediawiki/services/function-evaluator@master] Update function-schemata sub-module to HEAD (0d127c2)
gerritbot
added a comment.
Feb 10 2022, 4:10 PM
2022-02-10 16:10:19 (UTC+0)
Comment Actions
Change 761475
merged
by jenkins-bot:
[mediawiki/extensions/WikiLambda@master] Update function-schemata sub-module to HEAD (0d127c2)
ReleaseTaggerBot
added a project:
MW-1.38-notes (1.38.0-wmf.22; 2022-02-14)
Feb 10 2022, 5:00 PM
2022-02-10 17:00:17 (UTC+0)
gerritbot
added a comment.
Feb 11 2022, 4:07 AM
2022-02-11 04:07:02 (UTC+0)
Comment Actions
Change 761474
merged
by jenkins-bot:
[mediawiki/services/function-orchestrator@master] Update function-schemata sub-module to HEAD (0d127c2)
Jdforrester-WMF
mentioned this in
rMSFO630893949880: Update function-schemata sub-module to HEAD (0d127c2)
Feb 11 2022, 4:07 AM
2022-02-11 04:07:24 (UTC+0)
Jdforrester-WMF
closed this task as
Resolved
Feb 16 2022, 5:56 PM
2022-02-16 17:56:15 (UTC+0)
gerritbot
added a comment.
Feb 17 2022, 9:20 PM
2022-02-17 21:20:54 (UTC+0)
Comment Actions
Change 761476
merged
by jenkins-bot:
[mediawiki/services/function-evaluator@master] Update function-schemata sub-module to HEAD (0d127c2)
cmassaro
mentioned this in
rMSFEa04ac6f67caf: Update function-schemata sub-module to HEAD (0d127c2)
Feb 17 2022, 9:21 PM
2022-02-17 21:21:24 (UTC+0)
Log In to Comment
Content licensed under Creative Commons Attribution-ShareAlike (CC BY-SA) 4.0 unless otherwise noted; code licensed under GNU General Public License (GPL) 2.0 or later and other open source licenses. By using this site, you agree to the Terms of Use, Privacy Policy, and Code of Conduct.
Wikimedia Foundation
Code of Conduct
Disclaimer
CC-BY-SA
GPL
Credits
US