|
274 | 274 | {"_type":"issue","id":"morphir-go-1e2.8","title":"Update example morphir.toml with workspace members","description":"Update examples/morphir.toml to document workspace member configuration:\n- Add commented [workspace.members] example\n- Add example [project] section\n- Document member discovery behavior\n- Show example directory structure in comments","status":"closed","priority":3,"issue_type":"task","created_at":"2026-01-02T20:03:01Z","created_by":"damian","updated_at":"2026-01-02T20:40:46Z","closed_at":"2026-01-02T20:40:46Z","close_reason":"Implementation complete with LoadedWorkspace, Project types, and example documentation","dependency_count":0,"dependent_count":0,"comment_count":0} |
275 | 275 | {"_type":"issue","id":"morphir-d5xs","title":"kb sync push: export target does not check symlinked subdirectories","description":"sync push writes to resolve(target, path) where target is a user-named export directory, normally the upstream checkout. A symlinked subdirectory there would be followed. Same class as the mirror containment bugs fixed in #108, but deliberately left alone: the export target is not the mirror, and real upstream checkouts legitimately contain symlinks, so tightening it risks refusing valid exports. Decision (Damian, 2026-08-28): not hardening this now. Revisit if push ever writes somewhere less trusted than a checkout the user named, or if we grow a case where an export target is attacker-influenced.","status":"open","priority":4,"issue_type":"task","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-28T19:52:26Z","created_by":"Damian Reeves","updated_at":"2026-08-28T19:52:26Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
276 | 276 | {"_type":"issue","id":"morphir-8mgj","title":"test-resolution-probe","status":"closed","priority":4,"issue_type":"task","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-28T15:26:43Z","created_by":"Damian Reeves","updated_at":"2026-08-28T15:26:56Z","closed_at":"2026-08-28T15:26:56Z","close_reason":"resolution probe, not real work","dependency_count":0,"dependent_count":0,"comment_count":0} |
| 277 | +{"_type":"issue","id":"morphir-j442","title":"v4 schema has diverged from the published v4 examples","description":"mise run examples:validate fails on both v4 examples (books-and-records-example.json, complete-example.json). Pre-existing: they fail identically against the committed schema. Two distinct causes found so far. (1) AccessControlled accepted only {Public:...} or {access,value}, not the flattened {access, TypeAliasDefinition} form that docs/spec/ir/schemas/v4/document-tree-files.md documents and every example uses. Fixed by adding a branch and switching oneOf to anyOf. (2) Still failing: OpaqueTypeSpecification is {} in the examples but the schema expects an array at /distribution/Library/dependencies/morphir-SDK/modules/basics/types/int/OpaqueTypeSpecification. Needs a decision on which side is canonical for each divergence, then align schema and examples. Not naming related.","status":"open","priority":2,"issue_type":"bug","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-30T10:04:38Z","created_by":"Damian Reeves","updated_at":"2026-08-30T10:04:38Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
| 278 | +{"_type":"issue","id":"morphir-xihy","title":"Implement classic-to-v4 IR converter","description":"The morphir ir migrate step in morphir-rust crates/morphir-tests/tests/acceptance.rs is a stub returning an error unconditionally, and morphir-core's converter module is disabled pending update to non-generic V4 types. 11 scenarios in migration.feature are tagged @pending and skipped. Remove the tag with the implementation.","status":"open","priority":2,"issue_type":"feature","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-30T10:01:38Z","created_by":"Damian Reeves","updated_at":"2026-08-30T10:01:38Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
| 279 | +{"_type":"issue","id":"morphir-6uvn","title":"Model the v4 naming codec in Morphir","description":"Express encode/decode/escape/unescape/render for v4 names as a Morphir model in finos/morphir, per kb decision 0003 (Proposed). SDK surface verified sufficient: Char.isUpper/isLower/isDigit/toUpper/toLower and String.toList/fromList/split/join/uncons/foldl/any/all. A host-language bootstrap remains necessary because the model compiles to IR serialized by the rules it defines. Unresolved: where the model lives, whether morphir-elm can emit v4 IR.","status":"open","priority":2,"issue_type":"feature","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-30T10:01:27Z","created_by":"Damian Reeves","updated_at":"2026-08-30T10:01:27Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
| 280 | +{"_type":"issue","id":"morphir-32c0","title":"Support loading v1 and v2 IR distributions","description":"load_distribution in morphir-rust crates/morphir-common/src/loader.rs recognizes V4 and Classic v3 only. real_v1.json and real_v2.json parse as neither, so those rows moved to a @pending scenario outline in legacy_loading.feature. The feature states the intent: load V1, V2 and V3 without immediate migration. Fold the rows back into the main outline when supported.","status":"open","priority":3,"issue_type":"feature","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-30T10:01:39Z","created_by":"Damian Reeves","updated_at":"2026-08-30T10:01:39Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
| 281 | +{"_type":"issue","id":"morphir-7ypn","title":"Add a hashing primitive (SHA-256) to the Morphir SDK","description":"The v4 name path-length truncation rule suffixes a stem with the first 8 hex digits of a SHA-256 digest. The Morphir SDK has no hashing primitive, so that step cannot be modelled and stays native in each host, and the conformance corpus marks truncation cases host-verified. A hash is useful well beyond naming, so the surface belongs to the SDK. Morphir.SDK.UUID is the nearest precedent. Blocks full coverage for kb decision 0003.","status":"open","priority":3,"issue_type":"feature","owner":"957246+DamianReeves@users.noreply.github.com","created_at":"2026-08-30T10:01:38Z","created_by":"Damian Reeves","updated_at":"2026-08-30T10:01:38Z","dependency_count":0,"dependent_count":0,"comment_count":0} |
0 commit comments