Prepare SFLO v0.1.1 release#1
Conversation
- share release metadata descriptors between validation and version-setting scripts - add release:set-version for deterministic Turtle release metadata updates - cover setter and validator behavior in Deno release tests - document the release preflight flow
- update active Turtle release metadata and payload URLs for v0.1.1 - make release validation tests follow the checked-out source version - keep release set-version tests useful after a successful version bump
|
Warning Review limit reached
Your plan includes 1 review of capacity. Refill in 47 minutes and 53 seconds. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more review capacity refills, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than trial, open-source, and free plans. In all cases, review capacity refills continuously over time. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughAdds a typed release metadata contract and a Deno/TypeScript CLI to set release version/issued date across active Turtle files (with dry-run), integrates this into validation/tests/docs, adds Deno task wiring and permissions, and updates ontology/SHACL artifacts and guardrail tests for v0.2.0. ChangesRelease metadata setter and v0.2.0 deployment
Estimated code review effort🎯 4 (Complex) | ⏱️ ~45 minutes Poem
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@scripts/release_metadata.ts`:
- Around line 63-65: The isDate function currently only checks format; update
isDate to also reject impossible calendar dates by parsing the captured year,
month and day from the string (use the existing regex with capture groups),
convert them to numbers, create a Date object with new Date(year, month-1, day)
and then verify that date.getFullYear() === year, date.getMonth() + 1 === month
and date.getDate() === day; return false for non-matches or invalid numeric
ranges so values like "2026-02-31" are rejected.
In `@scripts/release_validate.ts`:
- Around line 101-105: The per-file expected-version comparisons are running
even when the CLI --version (expectedVersion) isn't valid SemVer, causing noisy
cascading errors; modify the logic that iterates parsedFiles and any other sites
(the loop calling validateReleaseFile and any similar blocks at the other
mentioned locations) to first validate expectedVersion with the SemVer check
(e.g., isValidSemVer or parse/semver.parse) and only pass/perform
expected-version assertions to validateReleaseFile when that check succeeds; if
expectedVersion is invalid, short-circuit and emit a single clear error about
the invalid expectedVersion instead of per-file mismatches.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 1e1e8d3d-7a17-4dbc-b8b5-14d2fcc41d6e
📒 Files selected for processing (14)
deno.jsonnotes/.gitignorenotes/ont.dev.release-runbook.mdnotes/ont.task.2026.2026-03-24-release-runbook.mdscripts/release_metadata.tsscripts/release_set_version.tsscripts/release_validate.tssemantic-flow-config-ontology.ttlsemantic-flow-core-ontology.ttlsemantic-flow-core-shacl.ttlsemantic-flow-job-ontology.ttlsemantic-flow-prov-ontology.ttltests/release_set_version_test.tstests/release_validation_test.ts
Add ResourcePage presentation default selection and panel-selection vocabulary, including ResourcePagePanel, ResourcePagePanelSelection, inclusion policy, ResourcePageKind, and panel data requirements. Add properties for selecting panels, ordering them, targeting by page kind/RDF class/artifact role, and declaring runtime data requirements. Keep panel selections modeled as named presentation-profile components rather than generic Config nodes.
Add SHACL structure checks for ResourcePagePresentationConfig and ResourcePagePanelSelection, including required template links, stylesheet and panel-selection presence, selected panel, panel order, inclusion policy, target value classes, and data requirements.
- add ReferenceSource, ImportSource, IntegrationSource, and ArtifactResolutionObservation - replace ReferenceLink target vocabulary with hasReferenceSource - move observed resolution evidence onto ArtifactResolutionObservation - update SHACL and ontology guardrails for the new model
- Apply Deno formatting to the ArtifactResolutionTarget constant. - Restore sflo CI formatting check compatibility.
- align active Turtle release metadata and release URLs on v0.2.0 - replace unpublished v0.1.1 release notes with v0.2.0 notes - document breaking vocabulary and SHACL changes for reference sources, resolution observations, repository source locators, and ResourcePage presentation config - validate release metadata, Deno CI, Turtle syntax, and whitespace checks
There was a problem hiding this comment.
Actionable comments posted: 2
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@notes/principles.md`:
- Around line 24-28: Fix the typos and finish the incomplete sentence in the
principles doc: change "Excpetions" to "Exceptions" in the sentence "Ideally,
once minted, states don't change. Excpetions for privacy/security concerns are
understandable.", and remove the stray "th" at the end of the paragraph so the
sentence reads clearly (e.g., "ArtifactResolutionTargets should be URLs or repo
targets, as local path relations aren't consistent between devices."). Ensure
the overall paragraph is grammatically correct and reads as a complete thought.
In `@tests/shacl_guardrails_test.ts`:
- Around line 122-143: The test "ReferenceLink SHACL requires exactly one
ReferenceSource" currently asserts only sh:minCount via assertRequiredProperty;
update the test to also verify sh:maxCount = 1 for SHAPES.ReferenceLink and
TERMS.hasReferenceSource (and similarly for the other cases called out around
lines 336-352). Locate the assertions using
assertRequiredProperty/assertOptionalProperty and add an additional
hasTriple/assert that SHAPES.ReferenceLink (and the other referenced shapes) has
SH.maxCount with the integer value 1 (use the same SH and TERMS/SHAPES symbols
already in the file to build the triple check).
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 8696f07f-ad22-4140-b85c-054b5684182e
⛔ Files ignored due to path filters (2)
assets/android-chrome-512x512.pngis excluded by!**/*.pngassets/favicon.icois excluded by!**/*.ico
📒 Files selected for processing (15)
notes/ont.decision-log.mdnotes/ont.reference-links.mdnotes/ont.release-notes.v0.2.0.mdnotes/ont.summary.core.mdnotes/ont.todo.mdnotes/principles.mdnotes/task.schema.ymlsemantic-flow-config-ontology.ttlsemantic-flow-core-ontology.ttlsemantic-flow-core-shacl.ttlsemantic-flow-job-ontology.ttlsemantic-flow-prov-ontology.ttltests/helpers/rdf.tstests/rdf_guardrails_test.tstests/shacl_guardrails_test.ts
💤 Files with no reviewable changes (1)
- notes/task.schema.yml
- reject impossible ISO-shaped release dates such as 2026-02-31 - short-circuit invalid expected release versions before per-file validation - add regression coverage for date validation and non-cascading version errors
…or the actual single-valued SHACL property shapes, including hasReferenceSource, hasTargetArtifact, observedAt, the single ResourcePage template/panel fields, and hasResourcePagePresentationConfig.
Summary
Validation
Follow-up before merge
Summary by CodeRabbit
New Features
Documentation
Tests
Chores