Skip to content

D107 spike 4: hard-forget (D74) inventory for the new temporal fields, verdicts, schedules and labels #368

Description

@fazpu

Part of #364 (D107 temporal clocks). Gates WP-T.1. Lands as an amendment to hard_forget_design.md §4 and the canary matrix (and postgres_schema_design.md §13.2), reviewed by Codex, before any WP-T.1 code.

Context

D74 requires every source-bearing field to be classified in the explicit scrub/residual inventory with a canary. D107 adds: seed_claim_id on both fact tables (design says scrubbed on hard forget); occurs_from/until/precision (design says recomputed from surviving evidence); temporal_window_verdicts (stores seed_claim_id, actor, rationale, before/after bounds — source-derived); temporal_window review-queue payloads; migration adjudications whose features carry legacy and converted bounds; fact_expiry_schedule rows; derived dated labels (obs_label, FactResult.label, profile lines, K sheet cells) and their P1 embeddings; and the populated relation_adjudications.triggering_claim_id.

What the spike must decide (Codex round 5, major 8)

For each item: delete / null / recompute, the order relative to claim and evidence deletion, what the canary asserts, and what residual (if any) is acceptable and documented. Specifically decide whether a verdict that cites a forgotten seed claim is kept with the reference nulled (append-only audit) or deleted, and whether a derived label that embedded a forgotten source's date must be regenerated from surviving evidence or dropped.

Acceptance

The hard-forget canary matrix covers every new column/table; a forget of a document whose claim seeded a fact leaves no reference to that claim anywhere (facts, verdicts, adjudication features, schedule, labels, embeddings) while the fact's surviving evidence still supports it.

🤖 Generated with Claude Code

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions