task: timestamp-unification created: 2026-02-06 phase: COMPLETE before_count: 6 current_count: 0 description: | Unified 5 different implementations of current_timestamp() into single canonical functions. instances_fixed: - episteme/corpus.rs:15 - made pub, added docstring, added millis variant - research/gap_store.rs:297 - REMOVED duplicate fn, now imports from crate - corpus_build.rs:63 - now uses current_timestamp() - policy.rs:128 - now uses current_timestamp() - policy.rs:236 - now uses current_timestamp() - expiry.rs:102 - now uses current_timestamp() - scan/scanner.rs:267 - now uses current_timestamp_millis() remaining_acceptable: - episteme/corpus.rs:21,28 - CANONICAL IMPLEMENTATION (source of truth) - expiry.rs:132,153,212,219 - test code (in #[cfg(test)] module) - tests/ack_expiry.rs - test code (acceptable) enforcement: - Added "Do Not #11" to aphoria-dev skill: "Write inline timestamp code" - Added to Constraints/NEVER: "Write inline timestamp code" - Added to Constraints/ALWAYS: Use current_timestamp() and current_timestamp_millis() documentation: - Updated .claude/skills/aphoria-dev/skill.md with timestamp usage rules