com.tituslegaldesign.immigration.agreementEvent

An append-only changelog entry for a 287(g) agreement record. One event is written every time the sync detects a change: a new agreement, a cancellation, a field-level modification, or a data correction. Together these events form the public changelog that ICE's snapshot-only publishing omits. Record key is a TID (timestamp identifier); events are never updated or deleted. Events carry the CID of the agreement record version they describe, so a third party holding an older CAR export can verify that an event describes the bytes they already have.

Details · record, key tid
Kindrecord
Record keytid
Authorityimmigration.tituslegaldesign.com
Indexed

Record

record · key tid

Properties

changes

array

Field-level before/after values, for modified and corrected events.

  • maxLength: 50
itemsref
Reference

effectiveDate

string · datetime

When the underlying change took effect in the real world, if known (e.g. the signed or canceled date). May precede recordedAt, and for backfill events usually precedes it by years.

effectiveDate as a plain calendar date, YYYY-MM-DD, no timezone. Preferred for display.

  • maxLength: 10

eventType

requiredstring

signed = new agreement appeared; canceled = agreement ended; reinstated = a canceled agreement became active again; modified = a substantive field changed (model, dates, reimbursements); corrected = publisher fixed a data error (spelling, population, geography).

  • knownValues: signed | canceled | reinstated | modified | corrected

note

string

Optional human-readable context for the change.

  • maxLength: 2000

priorCid

string · cid

CID of the agreement record immediately BEFORE this event. Absent for the first event on a record. Together with subjectCid this chains events into a verifiable version history.

provenance

requiredstring

observed = the sync detected this change between two of its own runs, so recordedAt is a real observation time. backfill = the event was reconstructed at initial publication from a historical snapshot; recordedAt is the import time and carries no information about when the change was noticed. Consumers plotting change-over-time should exclude or separately handle backfill events.

  • knownValues: observed | backfill

recordedAt

requiredstring · datetime

When this event record was written. For provenance=observed this is when the sync saw the change; for provenance=backfill it is merely the import time.

source

string · at-uri

AT URI of the com.tituslegaldesign.immigration.sourceSnapshot record this change was derived from, where one was archived.

subject

requiredstring · at-uri

AT URI of the agreement record this event describes, e.g. at://did:plc:xxx/com.tituslegaldesign.immigration.agreement/ga-tift-county-so-tfm

subjectCid

requiredstring · cid

CID of the agreement record as it stands immediately AFTER this event. Pins the exact version described. An AT-URI alone points at whatever the record says now, which is not the same thing.

The agreement's rkey slug, denormalized for convenience.

  • maxLength: 200

#fieldChange

object

Properties

field

requiredstring

Name of the agreement-record field that changed.

  • maxLength: 100

newValue

string

New value, stringified. Absent when the field was removed.

  • maxLength: 3000

oldValue

string

Previous value, stringified. Absent when the field was newly set. Sized to hold a full notes field.

  • maxLength: 3000

truncated

boolean

True when oldValue or newValue was cut to fit. Consumers must not treat a truncated value as the literal field contents.

Similar lexicons

semantic match

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • A contested claim about a 287(g) agreement record. Written into the DISPUTING PARTY'S OWN repository, not the publisher's, and referencing the disputed record by AT-URI and CID. Anyone may publish one: the agreement's publisher need not consent and cannot suppress it. Consumers find disputes by querying com.atproto.sync.listReposByCollection for this collection and following the subject URIs. Record key is a TID.

  • A point-in-time capture of an upstream source publication: ICE's participating-agencies workbook, a FOIA production, or a roster PDF. Agreement events reference the snapshot that justified them, so every published change traces back to an archived, content-addressed copy of the document it came from. Record key is a TID. Snapshots are never updated or deleted; a revised upstream file is a new snapshot.