# AiiDA Team Meeting 2025-12-11
###### tags: `team meetings`
###### time: 10:00 Zürich time (Thurdsays, every two weeks)
[TOC]
### Present
* Ali
* Julian
* Marnik
* Giovanni
* Edan
* Kristjan
* Miki
* Alex
### Team compass link
https://github.com/orgs/aiidateam/projects/5
### Catch-up round
*Max. 3 minutes each*
*Please keep items separated in the two categories "Topics aligned with Team compass issues" and "Other topics" (see link above).
#### Ali
- TransportQueue
- [Fix a race condition in TransportQueue, and set semaphore on exec_command_wait_async](https://github.com/aiidateam/aiida-core/pull/7144#top) -> under review by Alex
- Stashing
- Pre-mature execution of StashCalculation
- Solution #1 [Fixes a race condition in StashCalculation](https://github.com/aiidateam/aiida-core/pull/7115)
- Solution #2 [Add validation to prevent stashing from running CalcJob](https://github.com/aiidateam/aiida-core/pull/7147) -> to be reviewed by Edan
- PR [Stashing, avoid cleanup in case of a failure](https://github.com/aiidateam/aiida-core/pull/7140)
- [Support stashed directory cleaning in verdi node delete --clean-workdir](https://github.com/aiidateam/aiida-core/pull/7149)
- Engine: builder
- [Remove stash, unstash and monitor keys from default CalcJob builder inputs](https://github.com/aiidateam/aiida-core/pull/7143)
- Engine: monitors
- [Fix FileNotFoundError in monitors and importers using improper NamedTemporaryFile pattern](https://github.com/aiidateam/aiida-core/pull/7148)
#### Julian
##### Topics aligned with Team compass issues
* Item 1
* Item 2
* ...
*
##### Other topics
* aiida-core `v2.7.2` released :rocket:
* ~17 commits with bug fixes (out of ~90 on `main` since v2.7.1)
* `patch-release.sh` script a bit useless, as breaking on each conflict
* `git cherry-pick -x` rather than manually appending original commit hash
* Better to generate summary after the cherry-picking
* Any progress on updating/transferring dev wiki. Priority?
* Please have a look at [2.8.0 project](https://github.com/orgs/aiidateam/projects/18/views/1) and add/remove issues/PRs
* Finally had a look at pydantic work by Edan. Maybe we can do coding-week style final session on that eventually to get it in?
#### Marnik
##### Other topics
* 💥 `BaseRestartWorkChain`: add `on_unhandled_failure` input [[#7116](https://github.com/aiidateam/aiida-core/pull/7116)] -> Merged! Also wrote to discourse to notify users of the changes in behavior.
* ✨ `BaseRestartWorkChain`: add max iterations per handler and pause [[#7139](https://github.com/aiidateam/aiida-core/pull/7139)]. -> tested by Carlo, I'm adding documentation/tests + splitting up into two commits.
* Plan to refactor `BaseRestartWorkChain` slightly and polish docstrings/documentation, now that I've had a closer look at the code.
* Natural extension: use Giovanni's extras idea to actually allow users to "handle failures" on the fly.
* Other idea: there are already `handler_overrides`, where you can disable certain handlers etc. I'm wondering if we can also let users define their own handlers. [GP: I fully support this! It would avoid people inheriting the class. To discuss if this requires writing entry points etc.]
Let me know if you are interested in this topic, I'll schedule a meeting once I'm back in the old continent.
#### Edan
##### Topics aligned with Team compass issues
* [Pydantic PR is getting closer and closer to "correctness"](https://github.com/aiidateam/aiida-core/pull/6990)
* Decided to remove file serialization
* The original idea is of value, but also does not support practical cases (of files larger than a couple of lines)
* This affects `SinglefileData.content`, `ArrayData.arrays`, and `Node.repository_content`, which have all been "removed"
* `ArrayData.arrays` is tricky - happy to discuss with those interested
* [Kristjan suggested](https://github.com/aiidateam/aiida-core/issues/7131) the attributes of a Node should be defined on the `Node.Model` as a nested model rather than a dict, since we know them a priori per `Node` type
* This resolves several issues I ran into w.r.t the REST API
* Implementation is nearly there, resolving minor details
* [aiida-restapi with aiida-core pydantic model support](https://github.com/aiidateam/aiida-restapi/pull/93)
* Issues mentioned above came up in implementing the QB endpoint
* These are now resolved via the new `AttributesModel`
* Will add link endpoints soon
* Krisjan suggested a uniform (single) endpoint for all node creation
* At the moment, non-file node creation uses the model system
* With files, we have /nodes/file-upload due to technical issues (see [here](https://github.com/aiidateam/aiida-restapi/pull/25#issuecomment-865429160))
* I believe this is doable in principle - will give it a go
* We also need to support multiple file upload of course
* [Bug with `verdi group list` sorting](https://github.com/aiidateam/aiida-core/issues/7151)
##### Other topics
* Static site generator engine for AiiDA website
* Astro came up in my own search for an engine
* As it is now used in MC, perhaps it makes sense to choose it here as well
#### Kristjan
* `verdi presto` - currently sets up localhost with `mpirun -np 1`, but maybe easier to omit the `mpirun` (i.e. the easiest setup, can run codes locally without having to have mpi).
* there is a way to override this, and not use mpi. `withmpi` flag.
#### Giovanni
##### Topics aligned with Team compass issues
* Finalized review/testing of pausing of unhandler errors in BaseRestart, discussed pausing after too many iterations
* We are not on track on the Team Compass issues... we should discuss if the milestones are/were realistic, and if those are still priorities or not.
##### Other topics
* Discussed aiida-atomistic with Miki, streaming into packs with Zisen and Julian
* Finalized a PR in disk-objectstore (deleting loose objects incrementally and safely while repacking).
Plans:
* finalize the other PRs on disk-objectstore
* finalize some PRs on monitoring in `aiida-shell` and publish the blog post
* Finalize Renku integration with Julian by using data connectors to avoid copying a lot of data (at least when the archive version is recent)
#### Miki
* No significant updates to report since the coding week
* Found an issue in `TrajectoryData` created in `aiida-quantumespresso` relaxations, will open soon: the last structure is repeated twice, the starting one is not parsed
### Specific Agenda Items
* For a potential 3.0 release we could remove the interactive setup which creates problems with validation when multiple parameters are required to peform a validation (e.g. you need the hostname to validate if a specified setting on the remote is correct). The code logic for the interactivity is quite complicated and removing it would simplify maintenance. We could then also completely move to the pydantic validation and not have multiple validation systems around in the code. Needs to be investigated
* Regarding copilot I think the conclusion will be as described here https://leaddev.com/software-quality/github-copilot-make-commits “It is currently unclear whether these providers own the code generated by their models.“ But I would say it does not matter because by the PR we have the right to use the code owners code under our license https://opensource.stackexchange.com/a/9916 So if we do not want to change the our license we do not need the agreement of the code owners.