You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Work scopes: bind candidate content to a named mutable source for live recheck #60
The 0.3.0 companion deliberately distinguishes CANONICAL default-branch
scopes from isolated CANDIDATE artifacts. Candidate subject identity currently
binds an immutable commit but not a mutable branch/MR content-source ref.
Consequently the collector cannot prove that a live candidate branch still
points at the recorded content commit during an issue/research/analysis recheck.
Reusing the old candidate SHA as a network collection argument would otherwise
make a moved branch appear unchanged.
The release now fails closed before any network request for these candidate
content tasks unless the execution client supplies a freshly attested --inventory from its current checkout/source. Canonical content tasks are
rechecked against the current default-branch SHA. Candidate PR review/merge
tasks already refresh their selected PR's exact head/base and are unaffected.
Candidate snapshots never advance canonical latest.
This is a specific follow-up beneath #54/#56, not another request for a queue
engine. The safety guard has a negative regression: test_work_candidate_content_cannot_recheck_an_unrecorded_mutable_ref.
Acceptance:
Introduce explicit, versioned content-source bindings for candidate branch
refs and MR/PR head refs, including fork source identity where required.
Resolve that named source through a bounded read-only call before live
recheck; compare its current immutable SHA to the verified candidate scope.
A moved/deleted/inaccessible/ref-ambiguous source stays invalidated or UNKNOWN;
never fall back to a historical SHA and label it current.
Validate candidate content commit existence/project binding at collection,
while retaining explicitly attested immutable offline analysis inputs.
Test branch moves, force pushes, fork MR sources, deleted refs, auth/rate caps,
wrong project and default-branch changes independently of candidate changes.
Preserve canonical/candidate store isolation and no mutation/claim authority.
Implemented in PR #64, commit 4d96120: work v2 records DEFAULT_BRANCH / BRANCH / CHANGE bindings with immutable target/source project IDs, source locator, named ref and full revision. Candidate collection resolves the live source and proves commit membership; handoff resolves again before and after reading pinned regular blobs. Old SHAs are never a fallback, and candidates do not move canonical latest.
Regression proof includes fork GitHub/GitLab source identities and changed heads, moved/deleted branches, wrong commit/file revision, symlinks and forged source bytes. A real external GitLab pilot's previously merged/deleted branch returned HTTP 404 and produced no handoff. Historical v1 offline replay remains supported; a legacy scope needs a fresh bound generation for automatic live handoff.
Local suite: 2,255 passed; the change is prepared for review, not yet released or activated in production.
Activity
abogun-product commentedon Oct 6, 2026
Implemented in PR #64, commit
4d96120: work v2 records DEFAULT_BRANCH / BRANCH / CHANGE bindings with immutable target/source project IDs, source locator, named ref and full revision. Candidate collection resolves the live source and proves commit membership; handoff resolves again before and after reading pinned regular blobs. Old SHAs are never a fallback, and candidates do not move canonical latest.Regression proof includes fork GitHub/GitLab source identities and changed heads, moved/deleted branches, wrong commit/file revision, symlinks and forged source bytes. A real external GitLab pilot's previously merged/deleted branch returned HTTP 404 and produced no handoff. Historical v1 offline replay remains supported; a legacy scope needs a fresh bound generation for automatic live handoff.
Local suite: 2,255 passed; the change is prepared for review, not yet released or activated in production.