Import policy documents with stable revision identities
Two files called travel-policy.md contain different meal limits. The importer currently overwrites one with the other. Store a document identity, revision, and content digest.
- Focused work estimate
- 1h 15m + prerequisites
- Priority in the scenario
- Medium
- Engineering practice
- Data modeling · Content integrity · Idempotency
Estimated field mix
- Data engineering60%
- Database engineering40%
Field percentages are editorial estimates of the ticket's engineering focus. They total 100%; they are not measured time, proficiency scores, or ownership evidence.
Review it, then add it to your workspace.
The board opens an editable draft; nothing is saved until you confirm it. Sign-in and workspace permissions apply, and Demo boards remain ephemeral.
Project context
Employees search fictional travel and equipment policies. The current prototype blends draft and approved text and sometimes answers using a policy the employee cannot open. Use a small synthetic corpus and a deterministic answer-provider double.
Setup prerequisites
- Author synthetic policy documents with revisions, effective dates, and access groups.
- Use a local deterministic provider double; paid model access is optional and not required.
Preceding work
No earlier ticket is required. Complete the project setup above.
Acceptance criteria
- Each imported revision records document ID, revision ID, digest, title, status, and effective date.
- Reimporting identical bytes under the same revision is idempotent.
- Different bytes under an existing revision are rejected; a new revision preserves the previous record.
Implementation constraints
- Use synthetic policy text and UTC timestamps.
Verification to include
- Import two revisions and retrieve their original content separately.
- Reimport a modified file with the first revision ID and assert a conflict with no overwritten content.
Deliverables
- Revisioned importer and synthetic policy corpus
Rollout and recovery
Index the synthetic corpus in a separate namespace; rollback by changing the active index pointer, not deleting revision history.
Value of the work
For the engineer: Practice access-aware retrieval, source provenance, structured model boundaries, and reproducible evaluation.
For the team: Inspect how an engineer prevents unsupported or unauthorized answers and handles changing policy content.
Evidence boundaries
Outcome Evidence: Tests, patches, and runbooks are requested deliverables. They become Outcome Evidence only through a qualified Mission and immutable Evidence IDs.
Ownership Evidence: Independent adaptation must be observed under a declared verification policy and cite immutable Evidence IDs. Completing a planning ticket establishes no Ownership Evidence.