Repository navigation
Fix relationship semantics and validate catalogue consistency - #537
Merged
Merged
Conversation
…tency This change comes from a MISP-LEA.org project request. Clarify source and target roles, remove download-origin inverse assertions, and complete existing parent/child and negative-target inverse pairs. Retain all legacy identifiers and add three corrected spellings in version 56. Replace the text-based opposite checker with structured JSON validation, pin the relationship schema to Draft 7, and run 22 regression tests in CI. Document standard-specific directions, legacy spellings and compatibility.
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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.
The relationship catalogue describes
initiated-byin the forward direction and treats a download origin as the inverse of a downloader. Its text-based checker also accepts duplicate names and inverse links that do not point back. This change clarifies source/target roles and makes CI reject those catalogue errors.is-allied-with,precedes, andambivalent-ofalongside their legacy spellings.downloaded↔downloaded-fromanddownloads↔downloads-frominverse metadata. A process downloading a file and a file downloaded from a URL involve three distinct endpoints.parent-of↔child-of, XFNChild↔Parent, anddoes-not-target↔is-not-targeted-by.validate_all.sh, and document relationship usage and compatibility.The commit includes the MISP-LEA.org project request attribution.
Compatibility: existing relationship names and format tags are retained, including STIX's published
derived-fromdirection. Removing the four downloadoppositefields changes inverse metadata used by consumers; it does not rewrite stored references. The new guidance explains the endpoint distinction and legacy-name mapping. Producer-dependent payment, registration and injection roles, plus optional domain vocabulary additions, are documented for follow-up.Validation:
./validate_all.shpassed on a clean temporary copy with Python 3.12, validating 435 object templates, 323 relationships and all 22 regression tests. Confirmed that the catalogue UUID and every original identifier are preserved;git diff --checkpassed.