🧪 Lab 34 – Building a Status Importer That Rejects Stale Data and Unproven Completion Claims
Lab Objective
Create a local importer that accepts only the metadata needed for a current-status brief, rejects content-bearing or stale records, and refuses to claim completion without a separate artifact.
Lab Environment
- Environment: local JSON fixtures, an allowlist validator, and a temporary ledger
- Accepted fields: stable task ID, normalized state, source timestamp, and project/workspace ID
- Rejected fields: previews, summaries, bodies, transcript paths, and raw session exports
- Freshness limit: choose and document a short window, such as forty-eight hours
Scenario
A daily report must show which tasks are active. Importing entire conversations would expand the privacy boundary and make the report difficult to audit. The report also must not call a task complete merely because an inventory entry exists.
Step 1 - Define the Allowlist
Write the accepted schema first. Reject unknown fields rather than persisting them and filtering later. Include the source timestamp and adapter name so the observation can be explained.
Step 2 - Validate Fixtures
Accept a valid metadata-only receipt. Reject fixtures containing a preview, summary, transcript path, duplicate task, malformed timestamp, or unsupported state. Record only the rejection reason and stable test ID.
Step 3 - Enforce Freshness
Compare each source timestamp with the current time. Label records outside the freshness window as stale and exclude them from current-state decisions. A fresh record remains an observation, not completion proof.
Step 4 - Separate Status From Completion
Render “observed active” or “last status received.” Require a separate completion artifact before rendering “completed.” A task title, count, or AI-generated sentence is not enough.
Step 5 - Verify the No-Send Preview
Run a preview that updates only the temporary ledger and produces no outbound delivery. Confirm that a second run does not create a duplicate receipt for the same source observation.
Security Takeaways
- Reject sensitive fields at the source boundary.
- Freshness is part of the meaning of a status record.
- Historical context must not masquerade as current state.
- “Not proven” is a useful, testable outcome.
- Independent checks should verify the producer’s claim rather than repeat it.
Where This Applies Beyond the Lab
This pattern fits SOC dashboards, incident queues, backup reports, deployment monitors, and compliance evidence where a small, current receipt is safer than a copied transcript.
