Skip to content

fix(proof): enforce effort relation boundaries - #253

Merged
tonyketcham merged 1 commit into
mainfrom
stack/toeknee-figma/fix/proof-cross-effort-relations/enforce-effort-relation-boundaries--fb21ca5f
Aug 17, 2026
Merged

fix(proof): enforce effort relation boundaries#253
tonyketcham merged 1 commit into
mainfrom
stack/toeknee-figma/fix/proof-cross-effort-relations/enforce-effort-relation-boundaries--fb21ca5f

Conversation

@toeknee-figma

@toeknee-figma toeknee-figma commented Aug 15, 2026

Copy link
Copy Markdown
Collaborator

Fixes: #251

What now works

  1. Create-time derives_from, supersedes, and invalidates reject targets from another Effort.
  2. Rejected writes leave the record, reverse projections, and generation unchanged.
  3. Legacy foreign edges return PROOF_CROSS_EFFORT_RELATION; missing targets still return PROOF_DANGLING_RELATION.
  4. A record can derive from its governing Effort.
  5. A create that supersedes and invalidates the same target keeps both reverse links.

Reject create-time and later relation targets outside the source record's Effort. A record may still derive from its own governing Effort.

Fail legacy cross-Effort relation reads with structured `PROOF_CROSS_EFFORT_RELATION` data instead of returning an empty page. Preserve missing-target error precedence.

Stage reverse projections together so one valid create can both supersede and invalidate the same target without losing either back-link.

Tests:
- `pnpm verify`

Fixes #251

Change-Id: Ifb21ca5f0f242090e6fcf3839a3edc7cc1c549fc
@toeknee-figma
toeknee-figma marked this pull request as ready for review August 17, 2026 20:22
@tonyketcham
tonyketcham self-requested a review August 17, 2026 20:23
@tonyketcham
tonyketcham merged commit 76d1edb into main Aug 17, 2026
19 checks passed
@tonyketcham
tonyketcham deleted the stack/toeknee-figma/fix/proof-cross-effort-relations/enforce-effort-relation-boundaries--fb21ca5f branch August 17, 2026 20:25
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.

proof: reject cross-effort create-time relations and report legacy edges

2 participants