Commit Graph
176 Commits
Author SHA1 Message Date
RichardandClaude Opus 5.5 64e09b82d5 Merge feat/692-pdf: PDF-Text (#692)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 18:52:39 +02:00
RichardandClaude Opus 5.5 347b35fc44 Werkzeugkasten: PDF-Text aus Anhaengen und Dateien (#692)
- DocumentText reads PDF with PdfPig 0.1.16 (managed, Apache-2.0): page by
  page in reading order, at most 300 pages; a PDF without a text layer is
  named as probably scanned; broken and protected files are named.
- Mail read_attachment and FileRW read/read_many take PDF like Word/Excel.
- nuget.config maps exactly "PdfPig" - "UglyToad.PdfPig" is a package of a
  different account and stays out.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 18:45:03 +02:00
RichardandClaude Opus 5.5 cd1d4501e4 Merge feat/197-mcp-client: MCP-Client fuer HTTP-Server (#197)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 18:30:57 +02:00
RichardandClaude Opus 5.5 caf4323012 MCP-Client fuer HTTP-Server: externe Werkzeuge durch dieselben Pruefstellen (#197)
- Core/Mcp/McpClient: Streamable HTTP (MCP 2025-06-18) - initialize, tools/list
  with paging, tools/call; answers as JSON or event stream; session kept and
  opened again when the server forgets it; answers capped at 4 MB.
- McpServerTool: one server is one tool (mcp_<id>); its remote tools are the
  operations, so rights, preflight, staging, lead approvals, votes, audit and
  budget apply. On approval by default unless the human trusts an operation;
  reads foreign content; the server's descriptions are cut short and marked.
- McpConnections: registers, refreshes every 15 minutes, follows changes.
- InstanceConfig.mcpServers with protected headers; /api/mcp-servers;
  settings card "External MCP servers"; tool catalog includes the servers.
- stdio servers are not part of this (sandbox runner, separate step).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 18:15:44 +02:00
RichardandClaude Opus 5.5 44844a41a0 Merge feat/725-inbound-triggers: Eingehende Ausloeser (#725)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:27:09 +02:00
RichardandClaude Opus 5.5 73565eff18 Eingehende Ausloeser: n8n und andere starten Agenten (#725, Stufe 1)
Something outside hands an agent a task - an n8n workflow on a mail, a
schedule, a form, or any system that sends an HTTP request.

- Core/Triggers/InboundTriggers: one token per trigger and agent, kept as a
  hash and shown once; a rate per hour; deliveries up to 64 KB. Each
  delivery becomes a task whose content is framed as foreign content with its
  origin; every delivery, accepted or refused, is in the audit (source
  "trigger").
- POST /hooks/trigger on the instance (MCP socket, own token, no browsers);
  the manager forwards /hooks/{instance}/trigger. /api/triggers to issue,
  list and revoke.
- Agent view: a triggers card with the address and an n8n/curl example.
- Nothing writes back: no right to create or change workflows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:19:05 +02:00
RichardandClaude Opus 5.5 47a20913b0 Merge feat/692-attachments: Anhaenge lesen (#692)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:13:55 +02:00
RichardandClaude Opus 5.5 72d855efcf Werkzeugkasten: Anhaenge lesen - Word, Excel, Text (#692)
- Core/Documents/DocumentText: text of .docx (paragraphs, tables as rows),
  .xlsx (sheet by sheet, every cell at its column, stored values not
  formulas) and plain text/CSV. No DTD, no external references, every part
  bounded against zip bombs. PDF is named as not readable yet.
- Mail: read_message lists attachments; read_attachment returns the text;
  save_attachment keeps the file in the agent's workspace (never over an
  existing file, never outside).
- FileRW read/read_many return Word and Excel files as text; writing them
  stays refused.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 13:06:23 +02:00
RichardandClaude Opus 5.5 edf3ff19ea Merge feat/692-unit-credentials: Zugangsdaten je Einheit (#692)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:57:56 +02:00
RichardandClaude Opus 5.5 9a265888f8 Werkzeugkasten: Zugangsdaten je Einheit (#692)
A unit holds credentials for its members, by tool and setting - needed once,
not once per agent, and other units never get them.

- UnitConfig.credentials, protected by ConfigSecrets like every secret.
- OrgChart.ToolSettingsFor: an agent's own settings, completed by the nearest
  unit up that holds the value; own non-empty values win; no tool is granted.
  Used for runs, tool jobs and preflight probes.
- OrgAdministration.SetUnitCredential, PUT /organisation/units/{id}/credentials;
  the view lists held settings, never values.
- Templates never carry unit credentials; they are named instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:50:27 +02:00
RichardandClaude Opus 5.5 661807b2d0 Merge feat/691-org-templates: Organisationsvorlagen (#691)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:46:22 +02:00
RichardandClaude Opus 5.5 706b5cfd9e Organisationsvorlagen: ein ganzes Haus als importierbare Datei (#691)
- Core/Organisation/OrgTemplate: format, export, parse, structural checks.
  Export empties every credential (nested, name variants) and names it;
  a template that carries one is refused.
- OrgAdministration: ExportTemplate, PreviewTemplate (problems, warnings,
  every text in full), ImportTemplateAsync - only with confirmation, units
  before agents, own workspace per unit, doctrines, model and budget factor
  overridable, templateOrigin on every unit and agent.
- Endpoints GET /organisation/template, POST .../preview, POST .../import;
  templates card in the organisation view.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:37:18 +02:00
RichardandClaude Opus 5.5 11465f3d74 Merge feat/702-votes: Abstimmung (#702)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:12:21 +02:00
RichardandClaude Opus 5.5 a5dd503d9b Abstimmung: mehrere Agenten pruefen unabhaengig und stimmen blind ab (#702)
A unit can put operations to a blind vote instead of its lead. Not opinions
are counted but independent checks enforced.

- UnitConfig.votes: operations, voters, approveAt, rejectAt, quorum, hours,
  perDay - set only by a human (OrgAdministration.SetVotes).
- Core/Staging/Votes: routes a covered staged call before the lead; one task
  per voter with the frozen call and nothing else; cast_vote needs reasoning
  and evidence. Counted as soon as the result is settled; in between and
  without the quorum a human decides. The proposer does not vote, voters that
  read foreign content get no ballot, changes to agents never go to a vote.
- Escalation tool: list_ballots, cast_vote.
- Approvals view shows each vote with every ballot and the voters' costs;
  organisation view sets the rule and lists the votes held.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 12:04:33 +02:00
RichardandClaude Opus 5.5 d834e5ac38 Merge feat/693-spot-checks: Kontrollpflicht der Leitung (#693)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:55:24 +02:00
RichardandClaude Opus 5.5 68e723a9c0 Kontrollpflicht der Leitung: Stichproben gegen das Audit (#693)
A lead looks at the runs of the agents it leads - held against the task and
against what the engine stamped, never by asking the agent.

- RunInspector (Core/Inspection): the mechanical check and first profile of
  the inspector foundation (#204). Flags failed runs, tool errors, refusals,
  unfinished calls, tasks answered with bookkeeping alone, and operations the
  agent names but never called in the run (the 2026-09-14 pattern).
- SpotChecks: picks runs per unit (rate, denser for new agents, new models and
  after a failure, daily cap), deterministic by run id; one task per lead.
- Escalation tool: spot_checks, inspect_run, check_done, propose_measure.
  Measures go to a human; nothing is carried out automatically. A security
  suspicion is its own case, not a personnel matter.
- Organisation view: settings per unit, recent checks, measures to decide.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 11:40:20 +02:00
RichardandClaude Opus 5.5 ab1bd67464 Merge feat/688-department-situation: Lage je Abteilung (#688)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:58:13 +02:00
RichardandClaude Opus 5.5 f649f2fd7a Organigramm: Lage je Abteilung in der Teamuebersicht (#688)
- TeamMember: Laeufe und Kosten heute, offene und blockierte Aufgaben je Agent
  (eine Abfrage fuer alle, nicht eine je Agent)
- TeamUnit: dieselben Werte samt Untereinheiten, offene Vorgaenge aus der Einheit,
  heutige Kostenmeldung (#699)
- team.js: Lagezeile auf jeder Karte und in der Seitenleiste, Instanz summiert;
  Spruenge zu Kosten je Einheit und zu den Vorgaengen; i18n en/de
- Tests: TeamOverviewTests (+2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:50:17 +02:00
RichardandClaude Opus 5.5 888369698d Merge feat/698-doctrine: Doctrine je Einheit (#698)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:46:27 +02:00
RichardandClaude Opus 5.5 679333b382 Doctrine: die Leitung steuert ihre Einheit, ohne jeden Auftragstext anzufassen (#698)
- SqliteDoctrineStore: je Einheit versioniert (Tabelle Doctrines: Text, Autor, Lauf, Grund),
  hoechstens 2000 Zeichen, leer entfernt; im Speicher gehalten fuer jeden Lauf
- OrgBriefing: die Doctrine der eigenen Einheit, nur eine Ebene tief, mit dem Satz,
  dass ein Widerspruch zur Aufgabe eskaliert wird; Leitungen erfahren doctrine_set
- Escalation: doctrine_read, doctrine_set (nur die Leitung, Grund Pflicht)
- IAgentTool.Vorgabe(operation, context): Einstufung mit dem Aufrufkontext; eine Leitung
  der Fremdinhalt-Stufe legt doctrine_set zur Freigabe vor
- API GET/PUT /organisation/units/{id}/doctrine; WebUI-Karte mit Verlauf und Markierung
  haeufiger Aenderungen; i18n en/de
- Tests: DoctrineTests (5)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:38:44 +02:00
RichardandClaude Opus 5.5 c608af1abb Merge feat/699-unit-costs: Kosten je Einheit (#699)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:17:42 +02:00
RichardandClaude Opus 5.5 da34b215f7 Kosten je Einheit aufrechnen und Abweichungen melden (#699)
- IUsageRepository.GetDailyByAgentAsync: Tagessummen je Agent, Abo-Tokens getrennt
- UnitCosts: je Einheit samt Untereinheiten heute/7/30 Tage, Monat, Vormonat,
  Durchschnittstag (28 Tage, ab 7 Tagen Verlauf), Maximum = Summe der Agentengrenzen
- Meldungen: Abweichung vom eigenen Verlauf, Naehe zur Grenzsumme, Monatsschwellen
  der Instanz; CostWatch alle 15 min, je Einheit/Tag einmal (Tabelle CostAlerts),
  als Aufgabe an den Menschen; schaltet nichts ab
- API /usage/units, /usage/cost-alerts; Zeitreihe gruppiert nach Einheit
- WebUI: Karte "Kosten je Einheit" mit Meldungen in der Verbrauchsansicht; i18n en/de
- Einstellungen instance.json costWatch
- Tests: UnitCostsTests (8)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:09:42 +02:00
RichardandClaude Opus 5.5 7eb211fd06 Merge fix/filerw-workspace-in-path (#757)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:04:38 +02:00
RichardandClaude Opus 5.5 92b2075e14 FileRW: Arbeitsbereich im Pfad annehmen, Muster-Hinweis nur bei Treffern (#757)
- "shared:betrieb/protokoll.md" wird zu workspace + Pfad (wie FTP/RocketChat seit #718);
  muss zu einem angegebenen workspace passen, eine Pfadliste nennt nur einen Bereich
- read_many mit Muster: Hinweis auf einen anderen Bereich nur, wenn dort Dateien passen;
  ohne Pfad und Muster kein Hinweis (die Wurzel gibt es ueberall)
- verweigerter Pfad: kein doppeltes "Access denied", Warnung statt ERR mit Stacktrace
- Tests: WorkspaceInPathTests (6)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 09:04:38 +02:00
RichardandClaude Opus 5.5 b6405a57d3 Version 0.1.16: ORG-Block Zwischenstand fuer den Testbetrieb
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:20:58 +02:00
RichardandClaude Opus 5.5 305b177650 Merge feat/687-lead-approvals: Freigabe durch die Leitung (#687)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:20:34 +02:00
RichardandClaude Opus 5.5 f51186269c Freigabe durch die Leitung innerhalb von Grenzen (#687)
- UnitConfig.Approvals: Operationen, Hoechstzahl je Tag, Stunden je Freigabe; nur der
  Mensch setzt sie (OrgAdministration.SetApprovals mit Audit, Teilmengenregel nach oben,
  Senken oben senkt unten mit; Agentenaenderungen/Sonderbudget nie freigebbar)
- LeadApprovals: Vorlage geht an die naechste Leitung, deren Einheit die Operation
  erlaubt; nie eigene Aufrufe, nie eine Leitung mit Fremdinhalt, Tagesdeckel, Frist.
  Entscheidung ueber Escalation approve_call/reject_call, im Audit als lead:<id>
- Der Mensch sieht alles und kann zuerst entscheiden; danach wird die Leitungsaufgabe
  geschlossen. Nach der Frist nur noch der Mensch.
- StagedCalls: Approver, ApproverUntil, ApproverTaskId (Nachruestung)
- WebUI: Hinweis "bei Leitung" in der Freigabestelle, Zaehler ohne diese, Quote je
  Leitung; Karte in der Organisationsansicht; i18n en/de
- Tests: LeadApprovalsTests (13), OrgAdministrationTests (+2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 20:12:18 +02:00
RichardandClaude Opus 5.5 dafb8241a0 Merge feat/690-top: Entscheidungsinstanz an der Spitze (#690)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 09:39:42 +02:00
RichardandClaude Opus 5.5 e8964e3c74 Entscheidungsinstanz an der Spitze: Mensch, Agent oder Mensch zuerst mit Frist (#690)
- cases.top in instance.json: Human | Agent | HumanFirst, agentId, humanFirstHours
- TopRole: der entscheidende Agent steht in keiner Einheit, liest keine Fremdinhalte
  und hat nur Taskboard, Escalation, Memory, FileRW, AgentComm; geprueft beim Setzen,
  bei jeder Zustellung und vor jeder Entscheidung
- CaseDesk: was bisher an der Spitze beim Menschen landete, geht nach Einstellung an
  den Agenten; Tagesdeckel und Frist gehen weiter an den Menschen. handle verwehrt,
  forward geht an den Menschen. Mensch zuerst: Uebergabe nach Ablauf, eigene Frist.
  Der Mensch kann einen Fall des Agenten selbst entscheiden.
- Beschluesse des Agenten: ByTopAgent, zum Lesen vorgelegt; jeder Beschluss laesst
  sich mit Begruendung zuruecknehmen und bindet dann niemanden mehr
- Briefing fuer den Agenten an der Spitze, auch ohne Einheiten
- OrgAdministration.SetTop mit Audit; Werkzeugsperre und Verschiebesperre
- WebUI Vorgaenge: Reiter Spitze, Lesen/Zuruecknehmen, Zaehler; i18n en/de
- Tests: TopRoleTests (15), OrgAdministrationTests (+2)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-29 09:27:26 +02:00
RichardandClaude Opus 5.5 e22edb418a Merge feat/686-meetings: Besprechung als eigenes Mittel (#686)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 13:12:13 +02:00
RichardandClaude Opus 5.5 f2bf8b5b59 Besprechung als eigenes Mittel: Termin, Tagesordnung, eine Runde je Teilnehmer, Protokoll (#686)
Aufgabentyp meeting mit Teilnehmerliste (Frontmatter, SQLite, Taskboard-Werkzeug,
WebUI). MeetingRunner: jeder Teilnehmer einmal in Reihenfolge, Beitraege
gerahmt als Daten des Verfassers, danach schliesst die Leitung mit Ergebnis und
Aufgaben. Protokoll schreibt die Instanz in den Bereich der Einheit der Leitung.
Teilnehmer nur aus dem Adressbuch der Leitung, hoechstens 12.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 13:12:13 +02:00
RichardandClaude Opus 5.5 2df2fc476f Merge feat/719-file-history: Versionierung der Arbeitsbereiche (#719)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 11:12:13 +02:00
RichardandClaude Opus 5.5 e9c39c3c96 Versionierung der Arbeitsbereiche: Verlauf je Datei mit Agent, Lauf und Vorfassung (#719)
Eigene inhaltsadressierte Ablage (Agents/.history/objects, SHA-256) statt Git,
Journal FileHistory in state.db. Jeder Schreibweg - FileRW write/append/copy/
delete/stock_add, FTP- und RocketChat-Downloads - legt die alte Fassung ab und
verbucht die Aenderung mit RunId. Externe Aenderungen findet ein Abgleich beim
Start und stuendlich. Aufbewahrung nach Tagen und Fassungen, verwaiste Objekte
werden entfernt. WebUI: Dateiverlauf mit Filter, Diff und Wiederherstellen nur
durch den Menschen mit Grund.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 11:12:13 +02:00
RichardandClaude Opus 5.5 621a83de43 Merge feat/720-lost-updates: verlorene Updates erkennen, Konflikte melden und ueberwachen (#720)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 10:45:46 +02:00
RichardandClaude Opus 5.5 79a3a7854f Verlorene Updates erkennen statt warten: optimistische Pruefung beim Ersetzen, Konflikte im Audit und im Lagebild (#720)
FileLedger merkt je Agent die gelesene Fassung einer Datei in gemeinsamen
Bereichen. write, copy und Downloads (FTP, RocketChat) ersetzen eine Datei nur,
wenn sie seit dem Lesen unveraendert ist; eine fremde Datei nicht ungelesen.
append bleibt ungeprueft, macht aeltere Lesestaende aber ungueltig.
Abgelehnte Schreibvorgaenge: eigener Audit-Status Conflict, Tabelle
FileConflicts, Hotspots (>= 3 in 7 Tagen) in der Teamuebersicht.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 10:45:46 +02:00
RichardandClaude Opus 5.5 8a7212c240 Merge feat/718-named-workspaces-transfer: FTP und RocketChat kennen die benannten Arbeitsbereiche (#718)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 10:11:02 +02:00
RichardandClaude Opus 5.5 88c42b244d FTP und RocketChat kennen die benannten Arbeitsbereiche (#718)
Gemeinsamer Helfer NamedWorkspaces in Core statt dreier Kopien: unit: und
Bereichs-Id als Praefix, Lesen braucht Read, Herunterladen braucht Write,
Unbekanntes und Verbotenes antworten gleich. Ein Dateiname aus einer
RocketChat-Nachricht waehlt keinen Bereich.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-28 10:11:02 +02:00
RichardandClaude Opus 5.5 1bf26e9ff3 Merge feat/712-foreign-runtimes: Claude Code und Befehl als fremde Laufzeiten (#712)
Unter Linux geprueft: Egress-Proxy, Starter und MCP-Rueckweg in der echten Sandbox; alle Suiten gruen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 23:22:59 +02:00
RichardandClaude Opus 5.5 9c6e4aa299 Laufzeiten: ein Lauf ohne haltbaren Vorschlag behaelt seinen Verbrauch (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 23:19:28 +02:00
RichardandClaude Opus 5.5 036d56ff04 Doku: fremde Laufzeiten und Egress-Proxy - Umsetzung, Befunde, Einrichtung (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 23:18:19 +02:00
RichardandClaude Opus 5.5 d37fe91b37 Laufzeit-Karte: Felder mit zugaenglichen Namen (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 23:17:14 +02:00
RichardandClaude Opus 5.5 4940fdefb0 Test: der Claude-Code-Weg in der echten Sandbox, mit Stellvertreter (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 23:07:21 +02:00
RichardandClaude Opus 5.5 7a8852fe6b Laufzeiten: die MCP-Bruecke ist auch ohne Starter in der Sandbox (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 22:59:56 +02:00
RichardandClaude Opus 5.5 a76983aa28 Test: Skript ohne Zeilenfortsetzung (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 22:55:49 +02:00
RichardandClaude Opus 5.5 367ea387f6 Fremde Laufzeiten: Claude Code und Befehl in der Sandbox, Egress-Proxy, Vorschlag statt Einsatz (#712)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 22:46:49 +02:00
RichardandClaude Opus 5.5 7d6c2c9495 Merge feat/654-sandbox: Sandbox-Runner mit bubblewrap (#654)
Unter Linux geprueft: 39 Ausbruchstests, viermal die volle Core-Suite
unter Last auf der Test-VM.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 21:27:26 +02:00
RichardandClaude Opus 5.5 192ab0e2e3 Security-Konzept: Befunde aus dem Bau der Sandbox (#654)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 21:27:26 +02:00
RichardandClaude Opus 5.5 f97dfa06d6 Sandbox: Start aus einem langlebigen Thread - das Elternsterbe-Signal haengt am Thread (#654)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 21:20:27 +02:00
RichardandClaude Opus 5.5 6204f1247c Sandbox-Test: die Prozessgrenze zaehlt nur die Sandbox (#654)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 20:46:13 +02:00
RichardandClaude Opus 5.5 b74177c142 Sandbox-Test: Deskriptoren von aussen zaehlen (#654)
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 20:44:47 +02:00