Skip to content

FR-041 vocab expansion: register ecosystem edge verbs + inverses#3

Merged
kreneskyp merged 2 commits into
fr040-corpus-link-fixesfrom
fr041-vocab-expansion
Jun 21, 2026
Merged

FR-041 vocab expansion: register ecosystem edge verbs + inverses#3
kreneskyp merged 2 commits into
fr040-corpus-link-fixesfrom
fr041-vocab-expansion

Conversation

@kreneskyp

Copy link
Copy Markdown
Contributor

Context

Pairs with quire-rs#5 (FR-041 authorable inverse edges). The full-ecosystem smoketest (234 repos / 5,656 docs) showed the corpus uses ~50 relationship verbs FR-040 never registered. This closes the gap centrally in the iso registry. Stacked on #2 (the 8-repo corpus widening).

Changes — spec_artifacts_iso/manifest.yaml

  • New edge_types: lineage/provenance (derives_from[inv derives_into], migrated_from, generated_from); process verbs (reviews, relates_to, found_in, covers, blocks); misc (uses, manages, projection_of, imports, delegates_to); credential relations (issues/revokes/rotates/signs/advertises, each with its inverse).
  • inverse: added to satisfied_by(satisfies), constrains(constrained_by), renders(rendered_by), composes(composed_by), requires(required_by) — authorable via FR-041's engine.
  • represents generalized so mirrors aliases to it.
  • allowed_links widened on FR/NFR/StR/US/master-requirements with the best-fit registered verbs they use — artifact-level only; object-axis verbs (renders/emits/composes/reads) stay on the object archetypes so Tier-2 target typing is preserved (not masked).

Verification (local, against the FR-041 engine)

  • Ecosystem disallowed-edge-type: 475 → 170 (remainder are doc-rewrite normalizations — separate follow-up).
  • Tier-2 target typing intact (the renders→ui_component cases still flag, to be fixed by doc rewrites, not masked).
  • make test green (59 passed).

🤖 Generated with Claude Code

Pairs with quire-rs FR-041 (authorable inverse edges). A full-ecosystem
smoketest (234 repos) showed the corpus uses ~50 verbs FR-040 never
registered. Close the gap centrally:

- edge_types: register the lineage/provenance family (derives_from
  [inverse derives_into], migrated_from, generated_from), the process
  verbs (reviews, relates_to, found_in, covers, blocks), and misc
  (uses, manages, projection_of, imports, delegates_to) + the
  credential relations (issues/revokes/rotates/signs/advertises).
- inverse: declarations added to satisfied_by (satisfies), constrains
  (constrained_by), renders (rendered_by), composes (composed_by),
  requires (required_by) — these become authorable via FR-041.
- represents: generalized beyond DTO↔domain so `mirrors` aliases to it.
- allowed_links: widen FR/NFR/StR/US/master-requirements with the
  best-fit registered verbs they actually use (artifact-level only;
  object-axis verbs stay on the object archetypes to keep Tier-2 typing).

Verified locally against the FR-041 engine: ecosystem disallowed-edge-type
drops 475 -> 170 (the remainder are doc-rewrite normalizations), Tier-2
target typing preserved. iso `make test` green.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kreneskyp
kreneskyp requested a review from a team as a code owner June 21, 2026 15:53
Completes the rewrite-target vocabulary so the corpus doc-normalization
validates clean: StR `mirrors`→`represents` and master-requirements
`bundles`→`aggregates` need those verbs in their allowed_links.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@kreneskyp
kreneskyp merged commit 900948c into fr040-corpus-link-fixes Jun 21, 2026
4 checks passed
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.

1 participant