docs(agenten): Fallakte Livia und Agenten-Briefing sichern
`LIVIA_PROFIL_UND_PROMPT.md` hält Livia als Exposé Master fest, wie sie vor Runde 8 war: Personalblatt, Aufgabenkatalog, Kanäle und Systeme, das Exposé-Dossier mit elf Bereichen und neun Pflichtfeldern, die `missingFacts`-Regel der Textmaschine — dazu ein System-Prompt, mit dem sich diese Fassung ausserhalb des Repositories rekonstruieren lässt. `archive/livia/` ergänzt die Beschreibung um die Wiederherstellung: die 23 Dateien der Exposé-Funktion als wörtliche Kopie im Original-Pfadlayout sowie ein Manifest jeder Stelle, an der Livia in geteilten Dateien verdrahtet war. Beides ist mit Runde 8 nicht überholt, sondern der Referenzstand: die Exposé-Funktion wurde nicht entfernt, sondern nachgeordnet. Das Manifest beschreibt allerdings den Rückbau eines vollständigen Entfernens und damit ein Szenario, das so nicht eingetreten ist. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
ba8dc39483
commit
2037e5a463
33 files changed
+4431
No files matched your search
@@ -0,0 +1,37 @@
|
||||
import type { ExposeDraft } from '../domain/expose'
|
||||
import type { IExposeProvider } from './IExposeProvider'
|
||||
|
||||
/**
|
||||
* Entwurfsablage der Demo — in-memory, wie alle Mockup-Provider.
|
||||
*
|
||||
* Der Schlüssel ist das Paar aus Lead und Objekt: derselbe Lead kann mehrere
|
||||
* Objekte empfehlen, und jedes bekommt sein eigenes Exposé.
|
||||
*/
|
||||
const store = new Map<string, ExposeDraft>()
|
||||
|
||||
function key(leadId: string, propertyId: string): string {
|
||||
return `${leadId}::${propertyId}`
|
||||
}
|
||||
|
||||
export const MockupExposeProvider: IExposeProvider = {
|
||||
async getDraft(leadId, propertyId) {
|
||||
return store.get(key(leadId, propertyId)) ?? null
|
||||
},
|
||||
|
||||
async save(draft) {
|
||||
const saved: ExposeDraft = { ...draft, updatedAt: new Date().toISOString() }
|
||||
store.set(key(draft.leadId, draft.propertyId), saved)
|
||||
return saved
|
||||
},
|
||||
|
||||
async markGenerated(draftId) {
|
||||
for (const [k, d] of store) {
|
||||
if (d.id === draftId) {
|
||||
const updated: ExposeDraft = { ...d, generatedAt: new Date().toISOString() }
|
||||
store.set(k, updated)
|
||||
return updated
|
||||
}
|
||||
}
|
||||
throw new Error(`Exposé-Entwurf ${draftId} nicht gefunden`)
|
||||
},
|
||||
}
|
||||
Reference in new issue
Block a user