Source custody on the living job board

Disposition: settled at the REQ-281 trial boundary; no broader Human disposition is implied. Delivery: REQ-281 is fulfilled and CHANGE-281 is complete. Evidence: Eyes passed exact seven-path digest 91ce56b046c5d413009a42c898572f08a891d7611b522d0460dce75a6896ff86 after the final stored-scope amendment. Opened: 2026-08-24. Last observed: 2026-08-24T21:53:33-04:00.

This page preserves why the source-custody rail exists, how its candidate had to change under moving shared source, and what the terminal trial actually proved. It is not source custody itself. The owning rows, exact Git/source state, Tendril ties, and Eyes judgment remain authoritative.

Identity and boundary

FIND-760 controls the problem and architectural judgment. PROP-169 cut the first vertical trial; REQ-281 and CHANGE-281 own delivery:

REQ-281 --springs-from--> PROP-169 --springs-from--> FIND-760
                                           |
                                           +--points-to--> REQ-242

REQ-242 was useful predecessor ground: it shipped isolated Hands worktrees, but preparation remained conditional on provider capability. TRACE-425 proved the live counterexample—source-changing work could retain an ordinary packet against the crowded shared checkout when the provider bundle was unavailable.

The trial was deliberately narrower than the whole source lifecycle. It did not own immutable sealing as a house-wide primitive, PATCH/Goblin custody, checkpoint or remote-push policy, historical attribution, or a replacement VCS.

What became true

The shipped vertical makes source-changing job work declare validated repo-relative paths, establishes isolated base-bound custody independently of provider transport, refuses overlapping active scopes before dispatch, and projects declared custody separately from Git-derived actual paths and unowned shared-checkout dirt.

Several distinctions survived the implementation churn:

The accepted source body

The final seven-path candidate covered:

TRACE-477 sealed digest 91ce56b0… after repairing canonical validation of stored scopes. It reported 54 focused and 140 combined passing tests. TRACE-478 then independently passed that exact digest with 64 focused custody and 139 current-composite tests, specifically confirming that hostile stored scopes project unknown and block reservation and start. The owning store subsequently fulfilled REQ-281 and completed CHANGE-281.

This account does not turn those test counts into a durability claim or a remote-push claim. Neither was inside the trial.

Why the path was not linear

  1. Early provider movements failed before a reviewable candidate. TRACE-431 returned the first broad implementation.
  2. TRACE-432 found a load-bearing overlap/lease race and malformed-lease fail-open behavior despite otherwise passing evidence.
  3. TRACE-435 passed amended digest 8bcdf1e3…, but TRACE-436 correctly refused integration after shared main moved and the accepted schema/news siblings were absent from that snapshot.
  4. FIND-790 named the accepted REQ-269, REQ-274, and REQ-280 work as the new semantic base. TRACE-448 later produced seven-path digest 5eef0eae….
  5. TRACE-450 ended without a verdict when the Human paused review. PATCH-033 then changed overlapping tools/corpus_ops.py, making that digest stale.
  6. TRACE-454 and TRACE-466 were degraded refresh attempts. TRACE-471 produced digest 40860353… against the moved base.
  7. TRACE-472 returned AMEND: an incomplete object-shaped lease could evade the unknown-state block. TRACE-473 repaired it as digest bc4a8d4d….
  8. TRACE-475 returned AMEND again: stored ../escape, absolute, and noncanonical scope paths could evade overlap. TRACE-477 repaired canonical validation and sealed the final digest.
  9. TRACE-478 passed that exact body. REQ-281 and CHANGE-281 then settled.

The failed and amended generations remain important evidence. They explain why the final contract includes atomic publication, structural lease validation, and canonical stored-path validation rather than merely a dashboard and a worktree.

Standing and reopen route

Surface Observed state Reading
PROP-169 enacted The bounded vertical trial was routed
REQ-281 fulfilled The done-line was accepted against the final candidate
CHANGE-281 complete, completed=1 The owning change is settled
PATCH-033 verified The overlapping provider-affinity movement was accounted for
TRACE-477 closed / ok Hands sealed the final exact digest
TRACE-478 closed / ok Eyes passed that exact digest

The work entry is now frozen until evidence changes a material reading. Reopen for a demonstrated regression in the trial, a contradiction in the accepted digest, or a separately authorized cut for immutable sealing, PATCH custody, integration identity, or durability. Those larger ideas are not silently carried as unfinished REQ-281 work.

Refresh

python corpus.py ops tendril roots REQ-281
python corpus.py ops tendril shoots FIND-760
python corpus.py ops find get FIND-760
python corpus.py ops find get FIND-790
python corpus.py ops find get FIND-797
python corpus.py ops prop get PROP-169 --json
python corpus.py ops req get REQ-281 --json
python corpus.py ops change get CHANGE-281 --json
python corpus.py ops patch get PATCH-033 --json
python corpus.py ops trace list --request-id REQ-281 --limit 30 --json
python corpus.py ops trace get TRACE-472 --json
python corpus.py ops trace get TRACE-475 --json
python corpus.py ops trace get TRACE-477 --json
python corpus.py ops trace get TRACE-478 --json
git status --short
git rev-parse HEAD