Skip to content

feat: compare live post write clock with analysis-run cutoff (v0.84.2) - #131

Closed
cursor[bot] wants to merge 5 commits into
feat/role-responsibility-agent-ontologyfrom
cursor/bc-8ffda565-c91b-486f-b2ec-4bf60e10924f-0be3
Closed

feat: compare live post write clock with analysis-run cutoff (v0.84.2)#131
cursor[bot] wants to merge 5 commits into
feat/role-responsibility-agent-ontologyfrom
cursor/bc-8ffda565-c91b-486f-b2ec-4bf60e10924f-0be3

Conversation

@cursor

@cursor cursor Bot commented Aug 16, 2026

Copy link
Copy Markdown

Why this exists

#127 warns that a cutoff title opens today's body, but the popup never showed the live write clock. An operator could not complete the comparison ADR 0016 asks for.

Change (v0.84.2)

  • Opening a cutoff title compares source_post.updated_at with that run's knowledge cutoff.
  • A rewrite after the cutoff says: do not treat the opened text as reconstructed evidence.
  • A write clock at or before the cutoff says the opened text is still the cutoff corpus.
  • GET /api/posts and GET /api/posts/{id} include updated_at.
  • Seed historical Demo posts keep updated_at = created_at so January runs do not look rewritten at seed time.
  • Migration 0019_source_post_write_clock.sql stamps updated_at on implicit updates and honors an explicit write clock.

Post-body versioning at the cutoff remains later work. This slice does not invent a historical body.

Verification

  • cd frontend && pnpm run lint && pnpm run test && pnpm run build — 46 tests passed, including a rewritten-after-cutoff case and a list-open that must not show the comparison.
  • pytest tests/test_analysis_run_live_body.py tests/test_documentation_hygiene.py — 4 passed. True-parameter style: created_at before cutoff and updated_at after cutoff is not reconstructed evidence.

Merge gates

References

World Wide Web Consortium. (2022). Time ontology in OWL (W3C Recommendation). https://www.w3.org/TR/owl-time/

International Organization for Standardization. (2019). ISO 8601-1:2019: Date and time—Representations for information interchange—Part 1: Basic rules (confirmed 2024; Amendment 1:2022).

Open in Web View Automation 

cursoragent and others added 5 commits August 16, 2026 15:34
The #89 review asked for 12-character code and config prefixes so an
operator can match the approved revision. Full digests stay on the API
only. Do not merge until this review item is checked.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
aria-label on the digest paragraph hid the prefixes from assistive
technology. Move the label to a group, keep prefixes as visible text,
and put the full digest on hover. Tell the operator that a cutoff
title opens the live body so they compare it with the run clock.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
Opening a cutoff title still loads today's body. Surface source_post.updated_at
against the run clock so an operator can refuse a later rewrite as
reconstructed evidence. Historical seed rows keep updated_at = created_at.

Co-authored-by: Seongho Bae <seonghobae@users.noreply.github.com>
@seonghobae

Copy link
Copy Markdown
Contributor

Superseded by #150 (feat/analysis-run-live-write-clock, v0.87.0) on current #74 7f2d4bc. This branch conflicts against a stale #74 base. Leave idle — do not merge in parallel.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants