Skip to content

feat: add professional discrepancy center - #106

Merged
siracusa5 merged 8 commits into
mainfrom
codex/discrepancy-center
Aug 8, 2026
Merged

feat: add professional discrepancy center#106
siracusa5 merged 8 commits into
mainfrom
codex/discrepancy-center

Conversation

@siracusa5

@siracusa5 siracusa5 commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Evolves the existing conflict workflow into a professional Discrepancy Center for structural alignment across ContextCake sources. It adds decision-ready evidence, transactional and recoverable resolutions, and governed rule learning while preserving the resolver contract and keeping semantic contradiction detection explicitly out of scope.

Changes

  • detect section-content, authored-frontmatter, broken-link, and changed-after-decision discrepancies with stable revisions and coverage state
  • add schema-v2 append-only decisions, guarded multi-file transactions, rollback, startup recovery, acknowledgements, reconciliation, legacy compatibility, and MCP disposition metadata
  • suggest structural rules only after three consistent distinct decisions; require separate automation enablement and preserve recommendation-only team promotion
  • replace the Conflicts surface with a filterable, keyboard-operable Discrepancy Center with N-way evidence, accurate added/removed diffs, complete history, and explicit demo simulation
  • align API docs, product documentation, demo copy, and marketing language with the structural-discrepancy boundary
  • prepare the coordinated Mac app and Web Demo release as version 0.6.0

Adversarial review fixes

  • serialize failed automatic-attempt records with decisions so a blocked attempt cannot appear after a successful manual decision
  • prevent API callers from spoofing rule authority or labeling manual decisions automatic
  • revalidate the rule, ambiguity state, revision, coverage, source health, and writability inside the manifest lock immediately before automation
  • replace set-membership comparisons with bounded sequence diffs that show both removed and added prose or structured lines
  • preserve the console responsiveness context split while rebasing onto the latest main

Test Plan

  • npm test
  • console npm run typecheck
  • console npm test -- --run — 318 tests
  • console demo and live production builds
  • site production build
  • desktop tests — 103 tests
  • packaged Mac app build and self-terminating smoke test
  • npm run demo:verify
  • fault-injected transaction replacement and recovery tests
  • targeted rule-authority and two-way diff regressions
  • light/dark browser checks at 760×560, 900×640, 1360×860, and 1600×1000
  • CI checks pass

Notes

  • Structural discrepancies never depend on an LLM or network service. Semantic entity matching and model-inferred contradictions remain future work.
  • The legacy /api/conflict-resolutions route and existing conflicts[] fields remain compatible.
  • Automatic actions require an explicitly approved per-rule automatic mode, settled healthy sources, a current revision, and one unambiguous action.
  • The Web Demo never writes files or runs automatic rules.

@siracusa5 siracusa5 added the enhancement New feature or request label Aug 8, 2026
@siracusa5
siracusa5 force-pushed the codex/discrepancy-center branch from 0b174a9 to 8cdea0a Compare August 8, 2026 01:24
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
Signed-off-by: John Siracusa <siracusa5@users.noreply.github.com>
@siracusa5
siracusa5 force-pushed the codex/discrepancy-center branch from bdc102d to 9067370 Compare August 8, 2026 01:32
@siracusa5
siracusa5 merged commit 65325a6 into main Aug 8, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant