feat(consistency): rebuild deterministic projection IDs
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Multi-Context Image / build-and-push (push) Successful in 26s

Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
This commit is contained in:
tegwick 2026-08-22 09:43:55 +02:00
parent cb1b028fd1
commit 697dd49390
6 changed files with 245 additions and 32 deletions

View file

@ -7,6 +7,8 @@ the FastAPI ASGI app.
"""
from __future__ import annotations
import uuid
import pytest
@ -139,6 +141,30 @@ class TestTopics:
# ---------------------------------------------------------------------------
class TestWorkstreams:
async def test_create_preserves_authoritative_projection_ids(self, client):
await _create_domain(client)
repo = await _create_repo(client, slug="projection-id-repo")
workplan_id = str(uuid.uuid4())
workplan = await _create_workplan(
client,
repo["id"],
slug="projection-id-wp",
id=workplan_id,
)
assert workplan["id"] == workplan_id
task_id = str(uuid.uuid4())
response = await client.post(
"/tasks/",
json={
"id": task_id,
"workplan_id": workplan_id,
"title": "File-backed task",
},
)
assert response.status_code == 201, response.text
assert response.json()["id"] == task_id
async def test_create_and_list_by_topic(self, client):
await _create_domain(client)
topic = await _create_topic(client)