List Engineering Data Sources
The data Landmark reads about engineers comes from a small set of
row classes in Map's activity schema.
fit-landmark sources --email <self> lists every
class that has at least one row visible to you, together with its
retention window and the projected fall-off date for the oldest row.
This is the answer to "what does Landmark actually know about me?" — a contract that's been worth nothing if you have to read the schema migration to find out.
Prerequisites
-
A Supabase Auth JWT bound to your engineer email. The CLI reads it
from
LANDMARK_AUTH_TOKEN. Test harnesses and CI fixtures mint JWTs againstMAP_SUPABASE_JWT_SECRETvia thesignTestTokenhelper; production-side issuance flows (login, magic-link, SSO) are a follow-up — until then the command requires a manually-injected token. -
MAP_SUPABASE_URLandMAP_SUPABASE_ANON_KEYexported in your shell. Both are printed byfit-map activity start.
Run it
fit-landmark sources --email self@example.com
Output groups rows per class:
Profile (organization_people)
count: 1
oldest: 2025-09-01T00:00:00Z
newest: 2025-09-01T00:00:00Z
window: while employed
GitHub artifacts (github_artifacts)
count: 38
oldest: 2026-02-12T11:03:00Z
newest: 2026-05-08T18:21:00Z
window: P180D
falloff: 2026-08-11T11:03:00Z
Classes with zero rows visible to you are omitted from the output.
If every class clamps to zero — for example, you asked about an
email outside your scope — Landmark renders the
NO_SOURCES_FOR_PERSON empty-state message.
Fields per class
| Field | Meaning |
|---|---|
count |
Number of rows in the class visible under your identity (RLS-clamped). |
oldest |
Timestamp on the oldest visible row, using the class's
clock column.
|
newest |
Timestamp on the most recent visible row. |
window |
The retention window declared in the migration metadata.
while employed for
organization_people.
|
falloff |
The projected date when the oldest row reaches the end of its
retention window. Omitted when the window is
while employed.
|
Retention is a projection, not a guarantee
The falloff field is the projected date a row reaches
the end of its retention window.
Retention enforcement — the cron, daemon, or scheduled job that
physically deletes past-retention rows — is a follow-up.
The schema declaration this command reads from is the substrate that
enforcement will later use; for now, treat fall-off dates as a
published intent, not a guaranteed deletion event.
If a row stays in the schema beyond its falloff,
that's a bug in retention enforcement, not in this command's
display.
Scope
You can run sources --email <self> to see
what's retained about yourself. If you manage other engineers,
you can pass their email to see what's retained about them —
Landmark clamps the result through row-level security so you only
see rows for direct reports. An out-of-tree email returns the
empty-state message; no rows are exposed across scope boundaries.
What's not in scope
-
Slices 2–4 of
issue #829
(Claude Code aggregates,
evaluate-evidencetraces, Copilot ingestion) are not yet listed by this command. When they land, the SOURCE_CLASSES registry expands to cover them. -
Map ingestion-pipeline rows (
getdx_initiatives,getdx_teams,github_events) are not consumed by Landmark today and so are not listed.