Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,23 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

## [unreleased]

## [1.1.0] - 2026-05-15
## [1.1.0-rc.3] - 2026-06-10

### Added
* Curation user guide: "Needs re-review" flow in the review cycle overview
* Curation user guide: review status indicators in the Decision List
* Curation user guide: review status filter and cluster size sort option in the filter bar
* Curation user guide: "Why review needed" banner and entity metadata (ⓘ button) documentation
* Curation user guide: Previously Reviewed Decisions subsection with notification texts
* Curation user guide: updated and new screenshots (metadata, needs-rereview-notification)

### Changed
* Curation API reference updated to match the latest API version
* Curation user guide: clarified that inactive and unverified users cannot use the application
* AI-coding documentation de-branded; Meaningfy attributions removed
* Live documentation URL updated in README

## [1.1.0-rc.2] - 2026-05-15
### Added
* ERSys top-level section covering system scope and the role of each component
* User-facing sections and navigation structure for the ERSys documentation area
Expand All @@ -23,7 +39,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
* Curation web application user guide revised
* Use case catalogue revised and realigned with the architecture
* ERS service documentation revised for correctness
* Antora playbook updated to source component content from the meaningfy fork
* Antora playbook updated to source component content from the project repository fork
* Path templates escaped in the generated Curation API spec

## [1.0.0-rc.1] - 2026-04-21
Expand Down
6 changes: 3 additions & 3 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ project. It uses Antora (AsciiDoc) for technical documentation and serves as the
planning hub for AI-assisted development.

- **Main branch:** `develop` (PR target)
- **Global instructions:** The user-level `~/.claude/CLAUDE.md` contains Meaningfy-wide
coding practices (Clean Code, SOLID, Cosmic Python, testing strategy). It
- **Global instructions:** The user-level `~/.claude/CLAUDE.md` contains shared,
organization-wide coding practices (Clean Code, SOLID, Cosmic Python, testing strategy). It
complements this project-level file and is loaded into every conversation.

## Methodology

This project follows the **Meaningfy AI-Assisted Coding** methodology:
This project follows the **AI-Assisted Coding** methodology:
- **Runbook:** `docs/ai-coding/ai-coding-runbook.md`
- **Setup guide:** `docs/ai-coding/ai-coding-setup-guide.md`

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The documentation establishes the architectural foundation, integration contract

## 📖 Documentation

**Live documentation:** https://OP-TED.github.io/entity-resolution-docs/
**Live documentation:** https://meaningfy-ws.github.io/entity-resolution-docs/

## Contents

Expand Down
8 changes: 4 additions & 4 deletions docs/ai-coding/ai-coding-methodology.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Meaningfy AI-Assisted Coding Methodology
# AI-Assisted Coding Methodology

**Audience:** Developers and technical leads adopting AI-assisted development at Meaningfy.
**Audience:** Developers and technical leads adopting AI-assisted development.

**Purpose:** This document describes the methodology — the *why* and *what*. For the
operational *how*, see the companion documents:
Expand Down Expand Up @@ -212,7 +212,7 @@ For the detailed file format and rules, see [AI Coding Runbook §3.2](ai-coding-

### 5.1 Repository Structure

Every Meaningfy project repository follows this structure for AI coding support:
Every project repository follows this structure for AI coding support:

```
repo-root/
Expand All @@ -234,7 +234,7 @@ repo-root/

| Level | File | Scope | Contains |
|-------|------|-------|----------|
| **Global** | `~/.claude/CLAUDE.md` | All Meaningfy projects | Clean Code, SOLID, Cosmic Python, testing strategy, tooling |
| **Global** | `~/.claude/CLAUDE.md` | All projects | Clean Code, SOLID, Cosmic Python, testing strategy, tooling |
| **Project** | `./CLAUDE.md` | This repository | Agent behaviour rules, file references, memory conventions, project-specific rules |

Both are loaded into every conversation. The project-level file complements
Expand Down
2 changes: 1 addition & 1 deletion docs/ai-coding/ai-coding-runbook.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AI-Assisted Coding Runbook

**Audience:** Meaningfy developers using Claude Code for AI-assisted development.
**Audience:** Developers using Claude Code for AI-assisted development.

**Purpose:** This runbook defines *how we work* with AI coding agents — the phases,
the agents, the memory conventions, and the quality gates. Follow this document as
Expand Down
6 changes: 3 additions & 3 deletions docs/ai-coding/ai-coding-setup-guide.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# AI Coding Setup Guide

**Audience:** Meaningfy developers setting up Claude Code on a new project repository.
**Audience:** Developers setting up Claude Code on a new project repository.

**Purpose:** This guide explains the file structure, configuration, and how to
replicate the AI-assisted coding setup across project repositories.
Expand All @@ -12,7 +12,7 @@ For the methodology and workflow, see the companion

## 1. File Structure Overview

Every Meaningfy project repository follows this structure for AI coding support:
Every project repository follows this structure for AI coding support:

```
repo-root/
Expand Down Expand Up @@ -96,7 +96,7 @@ in every session. It must:
See the actual `CLAUDE.md` in this repository as the reference implementation.

**Note:** The project-level `CLAUDE.md` complements the global `~/.claude/CLAUDE.md`
which contains Meaningfy-wide coding practices (Clean Code, SOLID, Cosmic Python,
which contains shared, organization-wide coding practices (Clean Code, SOLID, Cosmic Python,
testing strategy). Both are loaded into every conversation.

### 2.1 settings.local.json
Expand Down
Binary file modified docs/modules/ROOT/images/curation/admin-user-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/ROOT/images/curation/comparison-panel.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/ROOT/images/curation/decision-area.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/ROOT/images/curation/decision-list.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/ROOT/images/curation/filter-bar.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified docs/modules/ROOT/images/curation/full-decisions-page.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/modules/ROOT/images/curation/metadata.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions docs/modules/ROOT/pages/UserGuide/curation-guide-admin.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ Two independent settings control whether and how a user can use the application.

In short: *Active* is the door to the application; *Verified* is the door to curation work inside it.

NOTE: Neither an inactive nor an unverified user can use the application.


== The User Table

Each row in the table represents one user account and shows:
Expand Down
38 changes: 36 additions & 2 deletions docs/modules/ROOT/pages/UserGuide/curation-guide-decisions.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,11 @@ Scores are colour-coded so you can judge them at a glance:
| The engine is most certain.
|===

Each entry may also display a visual indicator of its review status:

* *Reviewed* — the decision has already been reviewed by a curator.
* *Needs re-review* — the decision was previously reviewed but has been returned to the queue for re-evaluation after a backend update.


=== Filtering and Ordering Bar

Expand All @@ -67,9 +72,14 @@ By default the list shows all pending decisions; use this filter to focus on the
| Restrict by similarity score range.
Select a predefined band or set custom min/max values.

| *Review status*
| Filter decisions by their review state.
Options: _Never reviewed_ (decisions that have not yet been curated), _Reviewed_ (decisions that have already been curated), _Needs re-review_ (decisions that were previously reviewed but have been returned to the queue after a backend update).
Leave the filter set to _All Statuses_ to see all decisions regardless of review state.

| *Sort by*
| Order the decision list.
Options: _Created At (Newest/Oldest)_, _Updated At (Newest/Oldest)_, _Confidence (Low to High / High to Low)_.
Options: _Created At (Newest/Oldest)_, _Updated At (Newest/Oldest)_, _Confidence (Low to High / High to Low)_, _Cluster size (Smallest)_, _Cluster size (Largest)_.

| *Search*
| Full-text search across entity mention field data (name, identifiers, and other parsed attributes).
Expand Down Expand Up @@ -102,6 +112,15 @@ It is also where the curator records their feedback.

image::curation/decision-area.png[Decision area with comparison panel and alternative clusters]

A *Why review needed* banner at the top of the Decision Area explains why this specific decision was flagged for manual curation.
The message is tailored to the decision and may describe factors such as: high similarity combined with low confidence, the presence of alternative candidate clusters, a singleton cluster (a cluster containing only a single entity), or differences in specific entity property values.
The banner also shows the cluster size and when the decision was last updated.

Each entity card in the comparison view — both the current entity mention and each member of the proposed cluster — has an *ⓘ* button in the top-right corner.
Clicking it opens a metadata panel with the provenance details for that entity, including its *Source ID*, *Request ID*, and *Entity Type*.

image::curation/metadata.png[Entity mention metadata panel showing Source ID, Request ID, and Entity Type,60%]

[#alternative-clusters]
=== Alternative Clusters

Expand Down Expand Up @@ -140,7 +159,6 @@ To review a decision:
. Decide whether the entity mention and the proposed cluster are the same real-world entity.

image::curation/comparison-panel.png[Comparison panel with entity cards and diff highlighting]

The highlight colours show *where each field value appears* — they do not represent edits or a before/after history. There are three cases:

[cols="1,1,2",options="header"]
Expand All @@ -160,6 +178,22 @@ The highlight colours show *where each field value appears* — they do not repr
| The field is present in both, but the values differ.
|===

==== Previously Reviewed Decisions

The Decisions Queue may include decisions that were already reviewed or that have been returned for a second look.
When a decision falls into one of these states, the Decision Area displays a notification banner:

* *Reviewed* — the decision has already been recorded by a curator.
The banner reads: _"This decision has already been reviewed by a curator."_
* *Needs re-review* — the decision was previously reviewed but has been returned to the queue after a backend update.
The banner reads: _"A curator reviewed this decision previously, but it was returned for curation after a backend update and needs a re-review."_

image::curation/needs-rereview-notification.png[Needs re-review notification banner]

These notifications are informational — you can still inspect the decision and record updated feedback if needed.



=== Accepting a Decision

Accepting a decision registers your feedback that the proposed cluster is a correct match for this entity mention.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ From your point of view as a curator, a review cycle runs as follows:
. You open a decision and compare the entity mention against the proposed cluster.
. You record your verdict — *Accept* the top candidate, *Select* an alternative cluster, or *Reject* all candidates.
. Your feedback is stored and forwarded to the engine, which uses it when re-evaluating future decisions.
. Once the engine acts on your feedback and updates a previously reviewed decision, that decision may re-appear in the queue, annotated as *Needs re-review*, indicating it requires another look.
. At any time you can open the Action History to review past decisions and their outcomes.

== Application Pages
Expand Down
Loading
Loading