Skip to content

FE-1251: Publish traceable comparison reports#364

Merged
kostandinang merged 2 commits into
nextfrom
ka/fe-1251-comparison-publication
Jul 22, 2026
Merged

FE-1251: Publish traceable comparison reports#364
kostandinang merged 2 commits into
nextfrom
ka/fe-1251-comparison-publication

Conversation

@kostandinang

@kostandinang kostandinang commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Why

Comparison reports need to retain the release and controller commit actually tested, even when publication happens from a later checkout.

What

Capture write-once provenance after setup approval and before the first lane, then publish retained validity-first reports through an explicit guarded Notion workflow. Publication upserts by Run ID + Phase, preserves redaction boundaries, and verifies every mutation.

How to test

  • npm test -- src/dev/comparison-provenance.test.ts
  • npm run check:skills
  • npm run verify
  • Create, update, and duplicate-detection smoke exercise against the Comparison Reports database

kostandinang commented Jul 22, 2026

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@kostandinang
kostandinang marked this pull request as ready for review July 22, 2026 14:47
@cursor

cursor Bot commented Jul 22, 2026

Copy link
Copy Markdown

PR Summary

Medium Risk
Touches external Notion mutation and attribution of published results, but stays dev-only with strict validation, no overwrite of provenance, and verified idempotent upsert semantics.

Overview
Comparison runs can now freeze controller and release identity at approval time instead of inferring it from whatever checkout publishes the report later.

A new dev CLI (src/dev/comparison-provenance.ts) writes collision-failing provenance.json (package version, exact tag, full commit URL, branch, dirty flag, run id, kind) after setup approval and before the first lane. Elicitation (/compare-specs), execution (/compare-execution), and end-to-end flows are updated to require that capture; promotion must carry the snapshot unchanged.

Publication is explicit via the new .agents/skills/comparison-publish skill (/comparison-publish <run-directory>): validate report.md + provenance + kind-specific contracts, redact controller-only material, map live Notion properties, create or update exactly one row keyed by Run ID + Phase, stop on duplicate matches, and re-fetch to verify. check:reporting-skills now enforces the third skill contract; docs/praxis/comparison-runs.md and memory/PLAN.md document FE-1251.

Reviewed by Cursor Bugbot for commit f6591b1. Bugbot is set up for automated code reviews on this repo. Configure here.

Capture immutable run provenance before comparison lanes and provide a guarded, idempotent Notion publication path.

Co-authored-by: Cursor <cursoragent@cursor.com>
@kostandinang
kostandinang changed the base branch from ka/fe-1241-brownfield-comparison-cases to graphite-base/364 July 22, 2026 14:59
@kostandinang
kostandinang force-pushed the ka/fe-1251-comparison-publication branch from 109e098 to 7d9d83f Compare July 22, 2026 14:59
@kostandinang
kostandinang changed the base branch from graphite-base/364 to next July 22, 2026 14:59
Comment thread .agents/skills/comparison-publish/SKILL.md Outdated
Ship FE-1250 and FE-1251 in one release entry while making retained provenance rejection criteria unambiguous.

Co-authored-by: Cursor <cursoragent@cursor.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit f6591b1. Configure here.

Comment thread .changeset/publish-comparison-provenance.md
@kostandinang kostandinang self-assigned this Jul 22, 2026
@kostandinang
kostandinang merged commit c9c03ab into next Jul 22, 2026
7 checks passed
@kostandinang
kostandinang deleted the ka/fe-1251-comparison-publication branch July 22, 2026 15:19
@hash-worker hash-worker Bot mentioned this pull request Jul 22, 2026
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.

1 participant