Skip to content

Molecule: Phase 3#1642

Open
s373r wants to merge 32 commits into
sku/moleculefrom
sku/molecule_phase_3_for_pr
Open

Molecule: Phase 3#1642
s373r wants to merge 32 commits into
sku/moleculefrom
sku/molecule_phase_3_for_pr

Conversation

@s373r

@s373r s373r commented May 19, 2026

Copy link
Copy Markdown
Member

@s373r s373r self-assigned this May 19, 2026

@s373r s373r left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added comments for readers

Comment thread src/domain/accounts/services/src/use_cases/create_account_use_case_impl.rs Outdated
Comment thread Cargo.lock Outdated
Comment thread Cargo.lock Outdated
@s373r s373r marked this pull request as ready for review May 19, 2026 19:12
Comment thread .cargo/config.toml Outdated
Comment thread Cargo.toml Outdated
Comment thread src/adapter/http/src/data/verify_handler.rs
Comment thread src/app/cli/src/services/config/models.rs Outdated
Comment thread src/app/cli/src/services/config/models.rs Outdated
Comment thread src/adapter/http/src/data/sign/eip712/sign_eip712_types.rs
Comment thread src/sku/molecule/domain/src/entities/molecule_project.rs Outdated
s373r and others added 14 commits May 22, 2026 23:01
* Molecule API: v2 -> v3 + remove v2 postfix

* molecule/project: update schema

* molecule/project: ipnft_uid -> ocl_id migration

* molecule/project: ipnft_uid -> ocl_id migration: tests

* flow-system: commit cached sqlx queries for sqlite

* GQL: add/update Molecule scalars

* OclId: String -> own type

* Symbol: String -> own type

* update-non-aws.sh: remove outdated

* Update: tests

* Final touches

* Revert "flow-system: commit cached sqlx queries for sqlite"

This reverts commit d266825.

* ES: increment versions of modified schemas

* MOLECULE_PROJECT_MESSAGE_OUTBOX_VERSION: increment
# Conflicts:
#	resources/molecule/molecule-announcements.yaml
#	resources/molecule/molecule-data-room-activity.yaml
#	resources/molecule/molecule-projects.yaml
#	src/adapter/graphql/src/scalars/mod.rs
#	src/sku/molecule/domain/src/snapshots/molecule_dataset_snapshots.rs
* Use Molecule's synthetic data

* Use ? in the test

* cargo: add "clippy-target-dir" alias

* POST /sign/eip712?key={did}&includeNodeProof=true: scaffolding

* crypto-eip712-utils: crate

* crypto-eip712-utils: use alloy@1.7.3

* kamu: add a workaround for datafusion-ethers

* kamu-adapter-http: remove ed25519-dalek dep

* sign_eip712_handler: 1st signature layer

* crypto-eip712-utils: signing_hash_without_eip191_prefix()

* crypto-eip712-utils: sign(): lightweight exportable

* crypto-eip712-utils: sign_prefixed() & verification_key_prefixed()

* clippy
* crypto-eip712-utils: try remove extra deps

* crypto-eip712-utils: use umbrella alloy crate

* sign_eip712_handler: correct secp256k1 signature generation

* multiformats: "ed25519-dalek" add the zeroize feature
# Conflicts:
#	src/infra/core/Cargo.toml
* crypto-eip712-utils: try remove extra deps

* crypto-eip712-utils: use umbrella alloy crate

* sign_eip712_handler: correct secp256k1 signature generation

* multiformats: "ed25519-dalek" add the zeroize feature
* test_molecule_provided_test_data(): add signature generation / address recovery test

* crypto-eip712-utils: Secp256k1Signer / Secp256k1VerifyingKey

* Secp256k1Signer: zeroize

* Secp256k1Signer::from_bytes(): zeroize

* Secp256k1Signer: debug impl

* crypto-eip712-utils: serde under feature gate

* Secp256k1Signature

* Secp256k1Signature: Serialize

* crypto-eip712-utils: more tests

* crypto-eip712-utils: add "schemars" feature

* Secp256k1Signer: Serialize

* crypto-eip712-utils: utoipa feature

* kamu-adapter-http: SignEip712Proof: return structs not String

* kamu-adapter-http: SignEip712Response: add "verification_method" field

* sign_eip712_handler(): declarative response

* DidSecretEncryptionConfig: ZeroizeOnDrop

* IdentityConfig: use Secp256k1Signer

* sign_eip712_handler(): remove a TODO re zeroize (already did)

* sign_eip712_handler(): update imports

* kamu-adapter-http: use SignEip712UseCase

* kamu-signing: introduce

* Eip712TypedData: Deserialize

* MoleculeProject: remove todo

* kamu-signing-services: initial

* kamu-signing-services: SignEip712UseCaseImpl

* DidOdf: serde

* SignEip712UseCaseImpl: polish

* SignEip712UseCaseImpl: access checks

* clippy: fixes

* CreateAccountUseCaseImpl::execute(): store private key

* test_sign_eip712_use_case_impl

* Changes after test runs

* test_verify(): update identity config

* clippy fixes
* test_has_access_by_name_matrix(): add new test case

* SignEip712UseCaseImpl: use AccountAuthorizationHelper

* DatasetActionUnauthorizedError: extend w/ NotFound(_)

* OsoDatasetAuthorizer: return DatasetActionUnauthorizedError::NotFound

* Test fixes

* RebacDatasetRegistryFacadeImpl::classify_dataset_refs_by_access(): parallel execution

* ClassifyDatasetRefsByAccessResponse::try_get_error_message(): cover not_found

* SignEip712UseCaseImpl::get_secret_key(): parallel execution

* ClassifyDatasetRefsByAccessResponse::try_get_error_message(): cover w/ tests
* Support sort ordering for flow listings (#1605)

* Dependency fix

* Implemented flexible flow listing ordering at service level + 2 high-level ordering modes in GQL API

* First attempt to create AGENTS.md for Codex CLI

* ReBAC property and relation updates now suppress redundant outbox messages when model remains unchanged. (#1606)

* ReBAC relation updates now suppress redundant outbox messages when permissions remain unchanged.
* Similar coverage added for properties change messags.
* Corrected issue about wrong outbox message in ReBAC relation unset flow.
* Extended test coverage for ReBac use cases and services

* Dependency updates

* Latest Rust toolchain, cargo fmt, and cargo clippy

* v0.261.0

* Minor deps

* Temporarily alowing RUSTSEC-2026-0049 due to AWS pin

* Upgrade to datafusion 53

* ODF: better feature slicing

* Migrate from minio to RustFS and change credentials passing

* Upgrade aws-sdk-s3

* Update images and scripts to RustFS

* Warnings eliminated

* SmartTP tests refactor for RustFS: achieved stability

* Cleanups

* S3-related fixture cleanups

* Udeps fixed

* Improve odf feature slicing

* Build fix + changelog

* Got rid of non-working AWS IAM token provider for the database

* sha2 0.10 => 0.11

* More major dependencies updated

* Elasticsearch: got rid of Rust client in favor of direct REST API calls

* v0.261.1

* Upgrade RW engine, automate example tests

* v0.262.0

* CI tweaks

* CI tweaks

* Exception for lru@0.12.5

* RW fallout

* Minor updates + alloy pin

* nanoid 0.4=>0.5

* hickory_resolver 0.25=>0.26

* jsonschema 0.45 => 0.46

* Killed weird tokio pin

* deny.toml corrected

* Corrected flakky transaction leakeage

Co-authored-by: Copilot <copilot@github.com>

* Update deps

* Update canonical_json dependency

* CI improvements

* Surface and document engine test exclusion

* Security update: hickory_resolver

* GQL collection::entries support maxDepth

* ODF schema in sources: codegen

* ODF schema in sources: update logic

* Improved ODF codegen defaults

* Improved how source schema is exposed in GQL

* Support ODF schema in collection/files extra columns

* Schema union short form

* GQL ReadStep::schema will auto-convert from DDL

* v0.263.0

* Patching of config-reference.md with new version during release

* Fix linter

* Fix up changelog

* datafusion-ethers: use "eip712" feature

* ElasticsearchClient::find_document_by_id(): correct url encoding for id

* Linting

---------

Co-authored-by: Sergei Zaychenko <szaychenko@kamu.dev>
Co-authored-by: Sergei Zaychenko <zaychenko.sergei@gmail.com>
Co-authored-by: Sergii Mikhtoniuk <mikhtoniuk@gmail.com>
Co-authored-by: Copilot <copilot@github.com>
@s373r s373r force-pushed the sku/molecule_phase_3_for_pr branch from 5ee5309 to 37636a7 Compare May 22, 2026 20:01
@s373r s373r requested a review from sergiimk May 22, 2026 20:02
Comment thread resources/schema.gql

type CreateProjectErrorConflict implements CreateProjectResult {
project: MoleculeProjectV2!
type CreateProjectAccountConflictError implements CreateProjectResult {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As I mentioned in Slack - I'd prefer to avoid having this late API-breaking change and instead reused the existing conflict error with a different message.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We discussed it in Slack and agreed that we need a new error (CreateProjectAccountConflictError), but we shouldn't change the name of the old one (CreateProjectErrorConflict)

Done

@s373r s373r requested a review from sergiimk May 25, 2026 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants