Initial curated RAGcore source from c16667f0c9397e2bfc8dd0255b114fba23c8d05e

This commit is contained in:
Public Source Publisher committed 2026-10-01 01:34:21 +02:00
commit 7ca726caf2
659 files changed
+98171

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
# Authorization Model
## Principals
- Human user via OIDC session.
- Application service account via bearer token.
- Internal worker identity.
## Rollen
`platform_admin`, `workspace_admin`, `space_manager`, `editor`, `viewer`, `auditor`.
## Application scopes
Voorbeelden: `search`, `context`, `answer`, `documents:read`, `citations:read`, `feedback:write`, `sources:sync`.
## Effective-space algorithm
```text
effective = requested spaces
∩ explicit grants for principal/application
∩ active spaces in the same workspace
∩ spaces compatible with operation and provider policy
```
Een lege requested set betekent alleen de configured defaults van de application, nooit alle grants. Filters worden door de server samengesteld en kunnen niet via raw Qdrantfilterinput worden overschreven.
## Defence in depth
- Use-case authorization vóór repository calls.
- Workspace-gebonden databasequeries en waar passend PostgreSQL RLS.
- Verplichte Qdrant payloadfilters.
- Citation/documentread voert opnieuw resourceauthorization uit.
- Securitytests proberen IDOR, filterinjectie, inactive records en cross-space leakage.
+47
View File
@@ -0,0 +1,47 @@
# Domain Model
## Hoofdaggregaten
### Workspace
Beveiligings- en administratieve grens. Bezit applications, knowledge spaces en policies.
### Application
Project/client dat RAGCore gebruikt. Heeft service accounts, grants, quota en standaardprofielen.
### KnowledgeSpace
Logische kennisgrens met databeleid, retentie, trustvereisten en toegangsgrants.
### Source
Read-only oorsprong en synchronisatieconfiguratie. Voorbeelden: upload, folder, Git of website.
### Document
Stabiele logische identiteit van content door versies heen.
### DocumentVersion
Immutable snapshot met source fingerprint, blob, canonical artifact, status en timestamps.
### IndexBuild
Afgeleide indexering van een set documentversies onder exact één embedding/indexprofiel.
### RetrievalRun
Auditbare uitvoering met caller, effective spaces, profiel, kandidaten en timings.
### Citation
Immutable verwijzing naar documentversion, location, excerptchecksum en source URI.
### Job
Idempotente achtergrondopdracht met type, payloadversie, lease, attempts en events.
## Identiteiten
- Extern zichtbare objecten: UUIDv7.
- Deterministische chunks/citations: UUIDv5 op immutable inputs.
- Geen incrementele database-ID in publieke contracten.
## Domeinregels
- Exact één actieve documentversion per document.
- Een version wordt nooit inhoudelijk aangepast.
- Een indexbuild mengt nooit embeddingmodel/dimensie/profielversies.
- Een inactive/deleted/quarantined version is nooit actief zoekbaar.
- Een citation blijft naar de gebruikte version verwijzen na latere updates.
+43
View File
@@ -0,0 +1,43 @@
# State Machines
## Document version
```text
acquired -> security_checked -> parsed -> normalized -> chunked
-> embedded -> indexed -> validated -> published
```
Terminal/alternatief:
- `quarantined`: securitygate faalde of vereist review;
- `failed`: technische fout met retryclassificatie;
- `superseded`: was gepubliceerd maar is vervangen;
- `retired`: bron verwijderd/retentie verlopen.
Alle transities zijn expliciet, geaudit en idempotent. `published` vereist dat alle voorafgaande artifacts duurzaam bestaan.
## Job
```text
pending -> ready -> leased -> running -> succeeded
| \-> retry_wait -> ready
\-> expired -> ready
running -> failed_terminal
running -> cancelled
```
## Source sync
```text
idle -> scheduled -> scanning -> applying -> validating -> completed
\-> failed
```
## Index build
```text
created -> building -> validating -> ready -> active -> retired
\-> failed
```
Aliasactivatie mag alleen van `ready` naar `active`, met rollback naar vorige actieve build.