Tags rename and rebuild return conflicts after source edits #566

Open
opened 2026-10-01 02:42:09 +00:00 by kayg · 2 comments
Owner

During the local API adversarial round for calternal#465, the unchanged cross-source Tags probe returned these results on fresh test data:

  • POST /api/v1/tags/rename returned 409; expected 200.
  • After repairing the test Markdown source, POST /api/v1/tags/reconcile returned 409; expected 204.
  • After repairing the XMP source, reconcile again returned 409; expected 204.
  • After deleting rebuildable Index tag rows, reconcile returned 409 and GET /api/v1/tags/journey returned an empty result.

Reproduce with ADVERSARIAL_API_ONLY=1 tests/adversarial/run.sh; see the Tags shared sources section in tests/adversarial/attack.py. The Inspector change does not touch Tags.

During the local API adversarial round for calternal#465, the unchanged cross-source Tags probe returned these results on fresh test data: - `POST /api/v1/tags/rename` returned 409; expected 200. - After repairing the test Markdown source, `POST /api/v1/tags/reconcile` returned 409; expected 204. - After repairing the XMP source, reconcile again returned 409; expected 204. - After deleting rebuildable Index tag rows, reconcile returned 409 and `GET /api/v1/tags/journey` returned an empty result. Reproduce with `ADVERSARIAL_API_ONLY=1 tests/adversarial/run.sh`; see the Tags shared sources section in `tests/adversarial/attack.py`. The Inspector change does not touch Tags.
Author
Owner

Observed in one local API-only adversarial round against the merged branch:

  • tag rename across sources: expected 200, got 409.
  • tag reconcile after source repair: expected 204, got 409.
  • tag reconcile after XMP repair: expected 204, got 409.
  • tag rebuild: expected 204, got 409; source rebuild mismatch was [].

The 20-minute API round timed out during the Photos tag setup upload campaign after these findings. This job did not change tag behavior.

Observed in one local API-only adversarial round against the merged branch: - tag rename across sources: expected 200, got 409. - tag reconcile after source repair: expected 204, got 409. - tag reconcile after XMP repair: expected 204, got 409. - tag rebuild: expected 204, got 409; source rebuild mismatch was []. The 20-minute API round timed out during the Photos tag setup upload campaign after these findings. This job did not change tag behavior.
Author
Owner

Additional reproduction from the #606 branch at HEAD ae45b03ad in the real-server API-only round: the same Tags probe returned 409 for cross-source rename, 409 for reconcile after repairing the Markdown source, 409 after repairing the XMP source, and 409 after deleting rebuildable tag rows. The rebuilt /api/v1/tags/journey page was empty. No Tags code or expectations changed in #606; the run also saw shared-host SLOW results. The broader round evidence is recorded on #568.

Additional reproduction from the #606 branch at HEAD `ae45b03ad` in the real-server API-only round: the same Tags probe returned 409 for cross-source rename, 409 for reconcile after repairing the Markdown source, 409 after repairing the XMP source, and 409 after deleting rebuildable tag rows. The rebuilt `/api/v1/tags/journey` page was empty. No Tags code or expectations changed in #606; the run also saw shared-host SLOW results. The broader round evidence is recorded on #568.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
kayg/calternal#566
No description provided.