Skip to content

656 val0b move commit validation vocabulary into core and re scope validation - #658

Merged
evomimic merged 3 commits into
mainfrom
656-val0b-move-commit-validation-vocabulary-into-core-and-re-scope-validation
Aug 24, 2026
Merged

656 val0b move commit validation vocabulary into core and re scope validation#658
evomimic merged 3 commits into
mainfrom
656-val0b-move-commit-validation-vocabulary-into-core-and-re-scope-validation

Conversation

@evomimic

Copy link
Copy Markdown
Owner

Closes #656

Summary

Moves Commit-validation vocabulary and retained seed rules into MAP Core Schema, while retaining Validation as a normal one-way Core extension.

Changes

  • Adds Core-owned ValidationRule metadata, Commit rule families, rule properties, seed rules, and additive ValidationBindings.
  • Replaces the obsolete ValidationBinding -> AppliesTo -> UsesRule association model.
  • Re-scopes Validation to implementations, results, rule sets, Validate, and Command/Dance/Agreement rule families.
  • Adds explicit RuleOf/Rules relationships so schemas can own validation rules without treating rules as type descriptors.
  • Keeps ComponentOf restricted to descriptor membership.
  • Removes ExactlyOneDescribedBy.ValidationRule; all other retained seed identities move to Core.
  • Leaves both Core and Validation with zero active ValidationBindings occurrences.
  • Regenerates JSON artifacts and updates Core/Validation loader metrics and fixtures.

Testing

  • npm test
  • npm run map-schema:compile:coreschema
  • npm run map-schema:check:coreschema
  • cargo test --manifest-path shared_crates/type_system/type_names/Cargo.toml
  • git diff --check

Notes

No runtime validation handlers, rule dispatch, active bindings, result persistence, or Commit enforcement are introduced.

Re-scope Validation as a one-way Core extension, replace binding
associations with ValidationBindings, and define Core seed rules.

Rename the shared AffordedBy inverse relationship used by Core value
operators and Validation rule operators into distinct schema-backed names:
ValueTypeAffordedBy and ValidationRuleAffordedBy.

This avoids ambiguous inverse relationship traversal on OperatorType while
preserving the existing forward AffordsOperator relationship name in both
schemas.

Also update the CoreRelationshipTypeName enum, OperatorDescriptor::afforded_by(),
regenerate the JSON imports, and add regression coverage for resolving both
operator inverse affordance names independently.
@evomimic evomimic linked an issue Aug 24, 2026 that may be closed by this pull request
12 tasks
@evomimic

Copy link
Copy Markdown
Owner Author

Approve

Approved for Issue #656.

PR 658 moves the Commit-validation vocabulary and retained unbound seed rules into Core, re-scopes Validation as a one-way Core extension, removes the obsolete association-binding model, and introduces no runtime validation or active bindings.

The added Sweettest verifies the ValidationBindings descriptor contract, its inverse traversal, and both endpoints. CI is green on the latest head, and manual verification passed for the hApp build, host build, npm test, and npm start.

Non-blocking: the Validation fixture comment still describes bindings as Validation-owned; the contract is now Core-owned.

@evomimic
evomimic merged commit d0e0edc into main Aug 24, 2026
3 checks passed
@evomimic
evomimic deleted the 656-val0b-move-commit-validation-vocabulary-into-core-and-re-scope-validation branch August 24, 2026 14:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VAL0b — Move Commit Validation vocabulary into Core and re-scope Validation

1 participant