build(deps): bump simple-home-dir from 0.4.7 to 0.5.0#2565
Closed
dependabot[bot] wants to merge 1 commit into
Closed
build(deps): bump simple-home-dir from 0.4.7 to 0.5.0#2565dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
Bumps [simple-home-dir](https://github.com/splurf/simple-home-dir) from 0.4.7 to 0.5.0. - [Commits](https://github.com/splurf/simple-home-dir/commits) --- updated-dependencies: - dependency-name: simple-home-dir dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
Contributor
Author
|
Looks like simple-home-dir is no longer a dependency, so this is no longer needed. |
jqnatividad
added a commit
that referenced
this pull request
May 28, 2026
…oborev #2565) Roborev #2565 (Medium): the local-file `contentUrl` fallback used `res.name` before `source_label | basename`, but `context::build` defaults `res.name` from `Path::file_stem()` (no extension), so `in.csv` projected `"contentUrl": "in"` instead of `"in.csv"`. A user-supplied `res.name` via `--initial-context` is also typically a human label, not a usable content URL. Removed `res.name` from the fallback chain; `source_label | basename` preserves the extension and works for both default and seeded cases. Verified: `in.csv` now projects `"contentUrl": "in.csv"`, and `mlcroissant validate` still accepts the output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jqnatividad
added a commit
that referenced
this pull request
May 28, 2026
* feat(profile): upgrade croissant profile to Croissant 1.1 The bundled `croissant` profile now emits canonical Croissant 1.1 JSON-LD (https://github.com/mlcommons/croissant/blob/main/docs/croissant-spec-1.1.md) instead of 1.0. Spec deltas applied to resources/profiles/croissant.yaml: * conformsTo IRI bumped from `.../croissant/1.0` → `.../croissant/1.1` * @context expanded to the canonical 1.1 prefix table (adds `sc:`, `rai:`, and the cr: shortcut terms `recordSet`, `field`, `fileObject`, `source`, `extract`, `column`, `dataType`, `citeAs`, `data`, `isLiveDataset`, `key`, `references`, `regex`, `subField`, `transform`, `fileSet`, `includes`) * Distribution `@type` switched from `sc:FileObject` to `cr:FileObject` (Croissant 1.1 defines its own FileObject class) * FileObject and RecordSet now carry stable `@id` slugs (`data.csv` and `main-table`) so cr:Field.source can reference the FileObject by IRI * File hash switched from the non-canonical `cr:fileFingerprint` + `cr:Checksum` nested shape to the canonical direct `sha256` property mlcroissant validates against (uses `sha256_of`; BLAKE3 is faster but not in the Croissant vocabulary) * cr:Field entries now carry the canonical `source.{fileObject:{@id}, extract:{column}}` block. The existing `build_croissant_fields` helper only emits a 1.0-style flat field list, so the recordSet template was switched to an inline Jinja loop over `stats | items` that emits the source block per column. `qsv:cardinality` / `qsv:nullcount` diagnostics preserved. * New 1.1-first-class `citeAs` field, populated from `pkg.citation` via a new `/package/citation → /projection/citeAs` field mapping * Catalog envelope `conforms_to` bumped to 1.1 Test updates: * `tests/test_profile.rs::croissant_distribution_uses_file_object_type` now asserts `cr:FileObject` (was `sc:FileObject`) * `src/cmd/profile/profile_spec.rs::embedded_croissant_parses_and_dry_compiles` bumps `field_mappings.len()` 16 → 17 for the new `citation` mapping Verified end-to-end on `nyc-311-subset.csv`: emitted JSON-LD has the correct conformsTo, full canonical @context, `cr:FileObject` with direct `sha256`, and per-column `cr:Field` entries whose `source` blocks point back to `@id: data.csv`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs(CHANGELOG): note Croissant profile 1.0 → 1.1 upgrade Adds a Changed entry under [Unreleased] documenting the spec-version bump, the canonical 1.1 @context / @type / @id changes, the new citeAs field, and the one user-visible behavioral delta (file-hash slot switched from BLAKE3-via-cr:fileFingerprint to canonical direct sha256). References PR #3916. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(profile): make croissant 1.1 projection pass mlcroissant validate Two fixes surfaced by running `mlcroissant validate --jsonld` against the rendered projection block: 1. `contentUrl` is mandatory on `cr:FileObject` per the 1.1 spec, but the previous template gated it behind `only_if_absolute_iri`, so local-file inputs (with no `res.url`) emitted no contentUrl at all — failing mlcroissant's mandatory-property check. The canonical 1.1 example uses a relative path (`"contentUrl": "data/data.csv"`), so a bare basename is spec-conformant. Template now falls back to `res.name | source_label | basename` when no `res.url` is set. 2. mlcroissant's canonical @context includes a longer cr: shortcut term table than what was emitted. mlcroissant logged a "JSON-LD @context is not standard" WARNING listing the missing keys. Added: `equivalentProperty`, `examples`, `fileProperty`, `format`, `jsonPath`, `md5`, `parentField`, `path`, `repeated`, `replace`, `samplingRate`, `separator`. Profile @context now matches the canonical 1.1 context one-for-one; the warning is gone. Verified end-to-end with `pip install mlcroissant` + a populated `--initial-context`: `qsv profile --profile croissant --validate` produces `projection_warnings: []` and a direct `mlcroissant validate --jsonld projection.jsonld` reports "Done." with zero errors and zero warnings. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(profile): keep file extension in croissant contentUrl fallback (roborev #2565) Roborev #2565 (Medium): the local-file `contentUrl` fallback used `res.name` before `source_label | basename`, but `context::build` defaults `res.name` from `Path::file_stem()` (no extension), so `in.csv` projected `"contentUrl": "in"` instead of `"in.csv"`. A user-supplied `res.name` via `--initial-context` is also typically a human label, not a usable content URL. Removed `res.name` from the fallback chain; `source_label | basename` preserves the extension and works for both default and seeded cases. Verified: `in.csv` now projects `"contentUrl": "in.csv"`, and `mlcroissant validate` still accepts the output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * address PR #3916 review: dedupe datatype map, add regression tests, suppress DevSkim md5 context-term hit Copilot review #3315150422 (Medium): the per-column qsv stats type → Croissant dataType mapping was inlined inside the recordSet template while `vocabularies.croissant_datatype` already defined the same table. Replaced the inline `({...})[qsv_type] | default("sc:Text")` with `lookup("croissant_datatype", qsv_type) | default("sc:Text")` so the mapping lives in exactly one place. Verified the rendered dataType values are identical (sc:Text / sc:DateTime / sc:Integer / ...) and mlcroissant still validates clean. Copilot review #3315150455 (Medium): added `croissant_distribution_emits_canonical_sha256_not_legacy_fingerprint` asserting (a) `distribution[0].sha256` is a 64-char lowercase-hex SHA-256 digest, and (b) the pre-1.1 `cr:fileFingerprint` / `cr:Checksum` shape never appears anywhere in the projection. Prevents silent regression back to the 1.0 fingerprint layout. Copilot review #3315150471 (Medium): added `croissant_recordset_fields_wire_source_to_file_object` asserting every emitted cr:Field carries a `source.fileObject.@id` pointing at the FileObject's `@id` and a `source.extract.column` matching the field's `name`. That's the canonical 1.1 wiring between schema metadata and actual bytes; without this guard, the per-Field template could silently drop the source block while other tests still pass on field count / type / dataType alone. github-advanced-security[bot] (DevSkim DS126858, 2 hits): suppressed on the `md5: "cr:md5"` line — that's a JSON-LD @context shortcut term declaring the bare `md5` key resolves to the `cr:md5` IRI, NOT actual MD5 hash usage. qsv emits SHA-256 as the canonical Croissant 1.1 fingerprint; MD5 is never computed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * chore: rust fmt * test(profile): enforce lowercase hex in croissant sha256 regression check (roborev #2568) Roborev #2568 (Low): the SHA-256 regression test claimed "lowercase hex" in its failure message but used `is_ascii_hexdigit()`, which also accepts uppercase A-F — so a regression to uppercase digests would pass silently. Tightened to `c.is_ascii_digit() || ('a'..='f'). contains(&c)` so the check now matches the documented contract. `sha256_of` already emits lowercase hex, so the assertion still passes against current output. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Bumps simple-home-dir from 0.4.7 to 0.5.0.
Commits
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)