Skip to content

Improved system model metarch#46

Merged
ilijaljubicic merged 5 commits intomainfrom
improved-system-model-metarch
Jan 25, 2026
Merged

Improved system model metarch#46
ilijaljubicic merged 5 commits intomainfrom
improved-system-model-metarch

Conversation

@ilijaljubicic
Copy link
Collaborator

What does this PR do?

Implements attachment scope constraints for refinement elements (specifications, constraints, behaviors):

  1. Satisfied Refinement Constraint - Refinements must have at least one satisfy relation before they can be attached to other requirements
  2. Hierarchical Independence Constraint - Attachments are only allowed from requirements outside the owner's derivation hierarchy

Changes include:

  • Added SATISFACTION_RELATIONS constant in relation.rs
  • Added helper functions in graph_registry.rs: get_defining_requirements(), refinement_has_satisfy_relations(), is_in_hierarchy()
  • Added validation in validate_attachments() for both constraints
  • Added enforcement in attach_element() (link command) for both constraints
  • Added enforcement in merge_elements() for both constraints
  • Updated reqvire's own model to comply with new constraints
  • Added e2e test suite test-attachment-constraints
  • Updated Claude plugin documentation
  • Updated www.reqvire.org documentation

Type of Change

  • Bug fix
  • New feature
  • Documentation
  • Refactoring/cleanup

Testing

  • Tests pass (cargo test)
  • I tested my changes

Requirements Changes

  • No requirements were changed
  • Requirements updated and /reqvire impact run in PR

Checklist

Test User added 5 commits January 25, 2026 19:30
Requirements:
- Add Attachment Scope Constraints requirement to ModelManagement.md
- Add Hierarchical Independence and Satisfied Refinement constraints
- Add Attachment Scope Validation requirement
- Add test verification with comprehensive test cases

Constraints enforce:
- Refinements must have satisfy relations before being attachable
- Attachments only allowed from requirements outside defining hierarchy

Updates:
- Add constraint attachments to functional requirements and CLI commands
- Update ReservedSubsections.md design document with new validation rules
- Add satisfy relations to refinement elements in test fixtures
- Fix test-custom-element-types git config issue in nested repo

New test: tests/test-attachment-constraints/ (spec for future implementation)
Two new validation constraints ensure proper attachment semantics:

1. Attachment Satisfied Refinement Constraint:
   - Refinements must have satisfy relations before being attachable
   - Ensures refinements have an established owner requirement

2. Attachment Hierarchical Independence Constraint:
   - Attachments only allowed from requirements outside the owner's hierarchy
   - Requirements in the same derivation chain access refinements through
     the hierarchy, not attachments

Implementation:
- Add SATISFACTION_RELATIONS constant in relation.rs
- Add helper functions in graph_registry.rs for hierarchy checking
- Add validation in validate_attachments(), attach_element(), merge_elements()
- Update reqvire model to use satisfiedBy instead of redundant attachments
- Update claude-plugins documentation with new constraints
- Update test fixtures to comply with new constraints
- Nav background: #1c1c1c (dark gray)
- Buttons/primary: #333333 (lighter gray)
- Update Web Interface Style Specification with MONO color palette
- Update test expected files for new theme colors
- Update favicon and logo assets
- Remove accidentally committed docs/ folder
- Update www.reqvire.org submodule (copyright 2026)
@github-actions
Copy link


Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


Test User seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot.

@ilijaljubicic
Copy link
Collaborator Author

/reqvire impact

@github-actions
Copy link

github-actions bot commented Jan 25, 2026

Change Impact Report

New Elements


Changed Elements


Invalidated Verifications

@ilijaljubicic ilijaljubicic merged commit ddda18a into main Jan 25, 2026
2 of 3 checks passed
@ilijaljubicic ilijaljubicic deleted the improved-system-model-metarch branch January 25, 2026 20:28
@github-actions github-actions bot locked and limited conversation to collaborators Jan 25, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant