Forensics · Assignment lineage
Trace assignment lineage
See which requirement reached which attempt, what superseded it, and whether the attempt was actually exposed to the approved guidance.
For: engineers investigating AI-assisted work, reviewers deciding what the evidence establishes, and team owners checking the same record across devices
What it does, and why it helps
The pain. A requirement copied through several prompts becomes impossible to distinguish from a later amendment.
The point of view. Treat assignments as versioned constraints, not bags of similar words.
What gets easier. Separating an omitted requirement from one delivered to the wrong attempt.
When it helps. A case contains delegation, amendments, or competing instructions.
Its limits. Normalization groups shape; it does not decide semantic ambiguity, and model analysis is disabled by default.
Where to find it
- Desktop: AI incidents, open a case, then Attribution and Assignment lineage.
- Hosted: /team/agent-incidents, case Attribution section.
- API:
GET /api/ai-incidents/detail
When to use it
Find a dropped constraint
Situation. An AI-assisted change needs an answer that another reviewer can reproduce.
What you do. Open Attribution and compare the assignment group with each attempt's delivery record.
What you see. The original constraint, amendment, supersession, and per-attempt exposure are separate rows.
What it establishes. A missing handoff is distinguished from a requirement the attempt received and violated.
Before you start
- Supported versions
- RepoOps v0.3.1, verified against the 2026-09-17 completion worktree.
- Where it runs
- The local view needs a tracked repository. The team view needs a bound device and an authenticated team membership.
- Permissions
- Local evidence follows the repository's own access. Hosted reads are tenant and repository scoped before rows, counts, filters, or exports are built.
- Connections
- Local inspection works offline. Team delivery needs the device binding and repoops.ai; a failed delivery keeps its cursor and reports the failure.
- Plan
- Local deterministic analysis is available without a paid runner. Hosted compute, private runners, and model analysis are disabled by default and never silently substituted.
Configure it
- Record the case's assignment and amendments.
This establishes the scope before any conclusion is computed.
- Confirm or dispute the lineage edge from the case.
The receipt records the decision and the evidence ids it used.
| Setting | Where | A sensible choice | Why it matters |
|---|
What you should see
A superseded requirement
Configuration. Use a tracked repository and leave every unknown or disputed input in its real state.
Expect. The old group remains visible and the amendment names it as superseded.
Verify. The current group id carries the rule version and the intended attempt scope.
Data and cost
- What is captured
- Normalized constraint shape, digest, references, dates, URLs, scope, supersession, and evidence ids.
- Who can see it
- Hosted rows are case and repository scoped; raw transcript text requires its own live grant.
- How long it is kept
- Assignment rows are count-bounded or deleted with their case according to the record-family contract.
- What leaves the machine
- Only the normalized record and pointers, never unrestricted transcript text.
- What it costs
- Deterministic grouping has no model charge.
When the result differs
| Symptom | Likely cause | Next action |
|---|---|---|
| Two assignments grouped together unexpectedly. | They normalize to the same versioned shape. | Compare number, negation, and target scope; record an amendment when the requirement changed. |
- Disable
- Stop the relevant capture or prevention toggle in Settings; already recorded evidence remains a historical record.
- Roll back
- Restore the earlier package version or withdraw the disputed edge. Append the correction; do not rewrite the earlier decision.
- Revoke access
- Revoke the device or transcript grant. Later reads become restricted while identifiers and non-secret receipts remain auditable.
- Delete
- Delete the owning case or team through its deletion flow. Prevention groups also expire coherently after 365 days of inactivity.
Related tasks
Maintenance evidence
- Feature id
assignment-lineage(spine leafassignment-lineage)- Owner
- Forensics runtime and public-story owners (LDG-0695 through LDG-0699, LDG-0722)
- Supported product version
- RepoOps v0.3.1
- Last verified
- 2026-09-17
- Example fixtures
- Deterministic unit and integration fixtures cited by the source modules; external acceptance gates remain named separately.
- Source references
lib/assignment-shape.mjs,lib/causal/chain-edges.mjs,lib/ai-incident-case.mjs,website/lib/ai-incident-cases/edge-producer.ts- Documentation review
- Claims checked against the implementation and dated evidence. Unknown, disputed, restricted, not-run, and unavailable states are retained.
- Video review
- No licensed rendered story is published for this guide yet. The guide does not render a placeholder player.
Last updated