chore(ufo-types): depend on promptexecution/ufo-types externally - #201
Open
elasticdotventures wants to merge 1 commit into
Open
chore(ufo-types): depend on promptexecution/ufo-types externally#201elasticdotventures wants to merge 1 commit into
elasticdotventures wants to merge 1 commit into
Conversation
crates/ufo-types was an independent reimplementation of the same original spec (gh#511) as promptexecution/ufo-types, which cim-gridy and the b00t monorepo already depend on externally. Reconciled onto that crate (PromptExecution/ufo-types#3) rather than carrying two copies: it now has this crate's exact Satisfies/SatisfiesResult/ Disposition/NodeId/Constraint shape, iso types (Lei/Isin/Currency/ BankAccount/FinancialInstrument), and sysml.rs (SysML v2 validation, opt-in `sysml` feature) -- so ledger-core, ledgerr-mcp, holon-viz, and sysml-derive's dev-dependency all keep working with only an import- path change, not a logic change. This completes PR #145's original, abandoned intent (that PR meant to point ledger-core at the standalone repo but got silently rewritten at squash-merge because the two crates' APIs didn't actually match at the time -- see gh:#182 for the full archaeology). This time the dependency compiles because the target crate was ported to this crate's real shape first, not the other way around. Only source-path changes: au_rd.rs and bank_statement.rs's direct ufo::MomentStereotype::{Mode,Relator} constructions become the now- unified UfoStereotype::{Mode,Relator}("<label>".into()) (the flat enum gained MomentStereotype's tags via .category(), so this is the same information, just carried on one type instead of two). Every other import path (satisfies::*, iso::*) is unchanged. Pinned to the PR #3 branch tip by rev, not a release tag yet -- update to a version tag once that PR merges. Verified: - cargo test -p ledger-core -p ledgerr-mcp --lib: 201 + 44 passing, identical to the pre-migration baseline (0 regressions) - cargo test -p holon-viz --test sysml_v2_roundtrip: 3 passing - cargo test -p sysml-derive --test real_grammar_validation: 5 passing
Merged
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
crates/ufo-typeswas an independent reimplementation of the same original spec (gh#511) aspromptexecution/ufo-types, which cim-gridy and theb00tmonorepo already depend on externally. This completesPromptExecution/ufo-types#3's reconciliation by retiring the local copy in favor of that crate directly, rather than maintaining two implementations of the same thing.promptexecution/ufo-types#3ports this crate's exactSatisfies/SatisfiesResult/Disposition/NodeId/Constraintshape,isotypes (Lei/Isin/Currency/BankAccount/FinancialInstrument), andsysml.rs(SysML v2 validation, gated behind an opt-insysmlfeature) onto the external crate — soledger-core,ledgerr-mcp,holon-viz, andsysml-derive's dev-dependency all keep working with only an import-path change, not a logic change.This also completes #145's original, abandoned intent — that PR meant to point
ledger-coreat the standalone repo but got silently rewritten at squash-merge because the two crates' APIs didn't actually match at the time (see #182 for the full archaeology). This time the dependency compiles because the target crate was ported to this crate's real shape first, not the other way around.What changed
crates/ufo-types/deleted; removed from the workspace members list.ledger-core,ledgerr-mcp:ufo-typesdependency switched frompath = "../ufo-types"to a git dependency onpromptexecution/ufo-types(pinned byrevto thefeat/ledger-ontology-modulesbranch tip — not a release tag yet, update oncepromptexecution/ufo-types#3merges).holon-viz,sysml-derive: same, for theirsysml-feature-gated dev-dependency.au_rd.rs,bank_statement.rs: the only source-path change anywhere — directufo::MomentStereotype::{Mode,Relator}constructions becomeUfoStereotype::{Mode,Relator}("<label>".into())(the flat enum absorbedMomentStereotype's tags via a new.category()method, so this is the same information on one type instead of two). Every other import (satisfies::*,iso::*) is byte-identical.Test plan
cargo test -p ledger-core -p ledgerr-mcp --lib: 201 + 44 passing — identical to the pre-migration baseline onmain, zero regressionscargo test -p holon-viz --test sysml_v2_roundtrip: 3 passingcargo test -p sysml-derive --test real_grammar_validation: 5 passingcargo build -p ledger-core -p ledgerr-mcp -p holon-viz -p sysml-derive: clean (one pre-existing, unrelated warning infbar.rs)Depends on: PromptExecution/ufo-types#3 (must land first, or at least stay stable at the pinned rev)