docs(architecture): adopt inline synchronous ingestion (ADR-0017)
Why: - ingestion is inline in the request instead of dispatched through RabbitMQ/outbox/worker; ADR-0014 is superseded (not deleted) and named as the design to adopt once ingestion needs to move off the request path. Changes: - new ADR-0017 plus amendments to every ADR/plan that referenced the job-shaped/broker contract, so none silently contradict it. Impact: - no broker, outbox, or worker code; rabbitmq test marker removed.
This commit is contained in:
@@ -47,6 +47,7 @@ Use SQLAlchemy 2.x ORM models with typed mappings:
|
||||
class Base(DeclarativeBase):
|
||||
pass
|
||||
|
||||
|
||||
class Tenant(Base):
|
||||
__tablename__ = "tenants"
|
||||
|
||||
@@ -208,9 +209,12 @@ on the `content_hash` policy.
|
||||
|
||||
#### `ingestion_jobs`
|
||||
|
||||
One attempt to parse/chunk/embed/upsert a source file. This table is required
|
||||
even if the first implementation processes inline, because ADR-0008's file
|
||||
upload contract is job-shaped.
|
||||
One attempt to parse/chunk/embed/upsert a source file. Under
|
||||
[ADR-0017](0017-synchronous-ingestion-in-the-request-path.md) that attempt runs
|
||||
inline in the upload request, so a row is written `running` before the work and
|
||||
updated to a terminal status after it — the table is a durable record of the
|
||||
attempt, not a queue. It is what makes failures inspectable, re-ingestion
|
||||
idempotent, and a later move back to queued dispatch (ADR-0014) additive.
|
||||
|
||||
| Column | Notes |
|
||||
|---|---|
|
||||
|
||||
Reference in New Issue
Block a user