diff --git a/vibe/PRD/ai-back-office/README.md b/vibe/PRD/ai-back-office/README.md
index 5e8fe06..ee444b4 100644
--- a/vibe/PRD/ai-back-office/README.md
+++ b/vibe/PRD/ai-back-office/README.md
@@ -12,7 +12,7 @@
Arcodange is a one-person SAS (software consulting, incorporated January 2026). The same person is the engineer, the salesperson, and the entire back office. The recurring administrative and accounting work — pulling supplier invoices out of mailboxes, recording them in Dolibarr with the right VAT ventilation, issuing the monthly client invoice with its mandatory legal mentions, reconciling Qonto/Wise against the ERP, preparing TVA, watching fiscal deadlines — is manual, interrupt-driven, and competes directly with billable work. Volumes are small (tens of documents a month), so the pain is not throughput: it is **consistency, deadline safety, and cognitive load**. A missed acompte, a malformed invoice, or an unrecorded supplier bill carries fiscal and legal risk out of proportion with the five minutes it would have taken.
-Most of the hard groundwork already exists: a read-only skill catalogue over the Dolibarr API (invoices, payments, TVA, thirdparties, templates, snapshots), bank-side reconciliation over the Qonto and Wise APIs, Zoho mailbox ingestion, an iso-prod ERP sandbox with a write-scoped agent and a human-gated promote flow ([ADR 0003](../../ADR/0003-sandbox-state-lifecycle.md)), daily off-site backups with tested restore, and a Telegram webhook gateway. But these bricks only run **when a human thinks to launch them**. There is no standing fleet, no scheduler, no policy that routes the right task to the right model, and no explicit autonomy contract saying which agent may do what unattended.
+Most of the hard groundwork already exists: a read-only skill catalogue over the Dolibarr API (invoices, payments, TVA, thirdparties, templates, snapshots), bank-side reconciliation over the Qonto and Wise APIs, Zoho mailbox ingestion, an iso-prod ERP sandbox with a write-scoped agent and a human-gated promote flow ([ADR 0003](../../ADR/0003-sandbox-state-lifecycle.md)), daily off-site backups with tested restore, a Telegram webhook gateway, and an **agent-integrated second brain** — the PARA Obsidian vault, git-synced to the forge, whose digest/triage/ingest jobs already run unattended on the local hermes runtime. But the accounting bricks only run **when a human thinks to launch them** (the vault side already shows the standing-automation way). There is no standing fleet, no scheduler, no policy that routes the right task to the right model, and no explicit autonomy contract saying which agent may do what unattended.
Meanwhile three dated regulatory obligations are about to *raise* the admin surface: **e-invoice reception becomes mandatory for every French company on 2026-09-01**; the **régime réel simplifié de TVA disappears on 2027-01-01** (the annual CA12 + acomptes give way to quarterly CA3 declarations); and **e-invoice emission plus e-reporting of international transactions becomes mandatory for PME on 2027-09-01** — which covers Arcodange's export invoices to its US client. Doing nothing means strictly more paperwork every quarter from 2027.
@@ -35,6 +35,7 @@ A **single operator wearing three hats**, plus the fleet itself:
- **Human-gated writes as an invariant**: every ERP mutation is rehearsed on the sandbox and promoted through the existing ADR-0003 gate; approvals and digests flow through Telegram. See [agent architecture](agent-architecture.md).
- **Efficiency**: routine admin costs the human ≤ 15 minutes/day (review + approvals), with hard deadlines never carried in a human head.
- **Resilience**: no single point of failure — a cloud outage degrades to local triage + queueing, every write is replayable from manifests, books are restorable (tested backups) and provable (content-hashed snapshots).
+- **Institutional memory**: what the fleet learns, decides and audits is distilled into the operator's **second brain** (the PARA Obsidian vault, already live and agent-automated) following its existing conventions — knowledge compounds instead of evaporating into chat logs. See [T17](task-inventory.md#t17--knowledge-capture--retrieval-second-brain).
- **Prove feasibility with real POCs** — actual implementations against the real mailbox, real bank feeds, and the iso-prod sandbox. See the [POC plan](poc-plan.md).
**Non-goals**
@@ -74,6 +75,7 @@ flowchart TB
claude["Claude tier (frontier)
business validation · orchestration"]:::proc
end
+ brain["Second brain (Obsidian, PARA)
context in · knowledge out"]:::store
validators["Deterministic validators
format + arithmetic + dedupe"]:::gate
sandbox["ERP sandbox
rehearsed writes (ADR-0003)"]:::store
tg["Telegram gateway
digest · approval cards"]:::gate
@@ -90,6 +92,7 @@ flowchart TB
sandbox --> tg
tg --> human
human --> prod
+ fleet <--> brain
classDef src fill:#2563eb,stroke:#1e40af,color:#fff
classDef proc fill:#059669,stroke:#047857,color:#fff
@@ -103,10 +106,11 @@ flowchart TB
4. **Deterministic validators** — arithmetic, VAT rates, checksums, dedupe keys — are the format guarantors; anything that fails is quarantined, never guessed.
5. The **Claude tier** performs business-level validation against the fiscal profile, assembles write manifests, and orchestrates.
6. Writes are **rehearsed on the ERP sandbox**, surfaced as **Telegram approval cards**, and only the **human gate** promotes them to **prod**, where snapshots and daily backups close the evidence loop.
+7. The **second brain** (the PARA Obsidian vault, git-synced and already agent-automated) closes the knowledge loop: atoms retrieve context from it (contracts, client history, past decisions) and deposit distilled notes back into its inbox — the ERP stays the book of record, the vault the institutional memory.
## Requirements
-- **[Task inventory](task-inventory.md)** — the enumerated tasks (T01–T16 + backlog), each with trigger, mode opératoire, guardrails, current tooling, and target autonomy. *This is the functional requirement set.*
+- **[Task inventory](task-inventory.md)** — the enumerated tasks (T01–T17 + backlog), each with trigger, mode opératoire, guardrails, current tooling, and target autonomy. *This is the functional requirement set.*
- **[Agent architecture](agent-architecture.md)** — atom contracts, pipeline shape, write safety, security model (least-privilege ephemeral ERP credentials), prompt-injection defenses, runtimes/scheduling, and the human channel.
- **[Model fleet](model-fleet.md)** — the four tiers, routing policy, structured-output enforcement, availability model, degraded modes, and cost envelope.
- **[Challenges](challenges.md)** — the twelve identified risks and their mitigation strategies (the technical "second temps" of this PRD).
@@ -144,7 +148,7 @@ flowchart TB
| **5 — Fiscal autopilot** | POC-4 TVA dry-runs (acomptes, CA12 2026, CA3-2027 simulation), compliance calendar | proves €-parity before 2027 regime switch |
| **6 — Emission era** | E-invoice emission + e-reporting pipeline (PME deadline) | **hard deadline 2027-09-01** |
-Phases are streams, not strict gates: **phase 2 starts immediately, in parallel with phase 1** — its 2026-09-01 deadline cannot wait for the flagship. Tasks not named in a phase ride the nearest infrastructure: T05 (and decision D3) lands with phase 4's money loops, T12/T15 with phase 5's fiscal autopilot, and T16 grows out of POC-1's GED attach.
+Phases are streams, not strict gates: **phase 2 starts immediately, in parallel with phase 1** — its 2026-09-01 deadline cannot wait for the flagship. Tasks not named in a phase ride the nearest infrastructure: T05 (and decision D3) lands with phase 4's money loops, T12/T15 with phase 5's fiscal autopilot, T16 grows out of POC-1's GED attach, and T17 starts as soon as phase 1 produces its first journals — its vault-side rails (hermes cron, `sb.py`) already run.
## QA strategy
diff --git a/vibe/PRD/ai-back-office/STATUS.md b/vibe/PRD/ai-back-office/STATUS.md
index c34a505..b1f08f2 100644
--- a/vibe/PRD/ai-back-office/STATUS.md
+++ b/vibe/PRD/ai-back-office/STATUS.md
@@ -34,6 +34,7 @@ The bricks this PRD builds on, in the [erp](https://gitea.arcodange.lab/arcodang
| Dedicated Dolibarr backup (daily CronJob, 10 y retention, tested restore) | the evidence/recovery floor | erp [#31](https://gitea.arcodange.lab/arcodange-org/erp/pulls/31)–[#34](https://gitea.arcodange.lab/arcodange-org/erp/pulls/34), tools [#5](https://gitea.arcodange.lab/arcodange-org/tools/pulls/5) |
| Bank reco + email ingest skills | Qonto/Wise feeds, Zoho `books@`/`bureaux@` ingestion (read-only) | erp (skill series) |
| telegram-gateway MVP | the human channel's transport (webhook echo proven; queue + async handlers roadmapped) | [telegram-gateway](https://gitea.arcodange.lab/arcodange-org/telegram-gateway) repo |
+| Second brain (Obsidian vault + automation) | the fleet's knowledge layer: PARA vault git-synced, `sb.py` jobs (digest / inbox triage / daily / Gitea-ingest) on the hermes cron ticker, local Ornith runtime, `mcp-obsidian` access | [SecondBrain](https://gitea.arcodange.lab/arcodange/SecondBrain) repo |
## PR log (this PRD)
diff --git a/vibe/PRD/ai-back-office/agent-architecture.md b/vibe/PRD/ai-back-office/agent-architecture.md
index 22286a7..ae82fe7 100644
--- a/vibe/PRD/ai-back-office/agent-architecture.md
+++ b/vibe/PRD/ai-back-office/agent-architecture.md
@@ -115,7 +115,7 @@ Inbound documents are adversarial by default — an invoice PDF or a mail body c
| Runtime | Runs | Scheduling | Notes |
| --- | --- | --- | --- |
| **k3s cluster (Pis)** | T01 sentinel inference, T11 reminders, T13/T14 verifications, queue + gateway | CronJobs + long-running Deployments (ArgoCD apps per the lab's `` join-key convention) | Proven pattern: the erp backup CronJob. No LLM heavier than the Pi tier. |
-| **M4 MacBook** | T02/T16 local extraction, T09 report, interactive Claude Code sessions (the atom factory) | opportunistic — on-wake/launchd + queue pull | **Not a server**: availability model in [model fleet](model-fleet.md); time-critical work must not depend on it. |
+| **M4 MacBook** | T02/T16 local extraction, T09 report, T17 vault capture/retrieval, interactive Claude Code sessions (the atom factory) | **hermes cron ticker** (already driving the vault jobs) + on-wake queue drain | **Not a server**: availability model in [model fleet](model-fleet.md); time-critical work must not depend on it. hermes = the local agent runtime (skills, cron, the Ornith model). |
| **Cloud APIs** | Mistral extraction/OCR; Claude reasoning steps (headless `claude -p` / Agent SDK) | invoked by pipeline stages | Budget-capped; degraded modes defined. |
| **telegram-gateway** | digests, approval cards, human commands | webhook-driven | Roadmapped phases (durable Postgres queue, async handlers) are exactly what the fleet needs — see open decisions. |
@@ -129,6 +129,17 @@ Inbound documents are adversarial by default — an invoice PDF or a mail body c
- **Approval cards**: one decision per card (approve / edit / reject-with-reason); rejection reasons are first-class data feeding golden sets.
- **Escape hatch**: every automated lane has a documented manual runbook fallback (the fleet augments the operator; it never becomes the only way to run the company).
+## Knowledge layer — the second brain
+
+The operator's second brain is already in place and already agent-integrated: a **PARA Obsidian vault** (`00-Inbox` … `06-Zettel`), git-synced to the forge ([arcodange/SecondBrain](https://gitea.arcodange.lab/arcodange/SecondBrain)) via obsidian-git, exposed to agents through `mcp-obsidian` (local REST API), and automated by `.automation/sb.py` (weekly digest, inbox triage, daily prefill, idempotent Gitea→Inbox ingest) scheduled on the **hermes cron ticker** — with **Ornith**, hermes's local reasoning model (`127.0.0.1:18080`), as the confidential/offline lane. The vault even declares its own AI routing doctrine — *Claude by default, Mistral for well-defined tasks, Ornith/hermes for the confidential* — which is precisely the policy the [model fleet](model-fleet.md) generalizes.
+
+The integration contract ([T17](task-inventory.md#t17--knowledge-capture--retrieval-second-brain)):
+
+- **Division of truth:** the ERP is the *book of record*; the vault is *context and institutional memory* (contract nuances, client history, decisions, REX). No accounting fact is authoritative in the vault.
+- **Capture:** fleet outputs worth remembering land as **append-only inbox/area notes with idempotent frontmatter** — the pattern the Gitea ingest already proves; human-authored notes are never edited in place.
+- **Retrieval:** context-hungry atoms query the vault and carry facts *with their note dates* — notes are **trusted-but-stale**: anything contradicting the ERP, or older than its subject's last change, triggers re-verification rather than belief.
+- **Rails reused, not rebuilt:** M4-side access is direct filesystem + `mcp-obsidian`; the weekly digest and the human's PARA filing ritual remain the curation loop; cluster-side access is open decision [D7](#open-decisions).
+
## Open decisions
To be settled by POC evidence, each closing with a short ADR:
@@ -136,10 +147,11 @@ To be settled by POC evidence, each closing with a short ADR:
| # | Decision | Options (leaning) |
| --- | --- | --- |
| D1 | Work queue | telegram-gateway's planned Postgres durable queue (**leaning** — already roadmapped, transactional, one less system) vs. flat files in git vs. Redis |
-| D2 | Orchestration runtime | Claude Agent SDK headless on cluster-triggered jobs (**leaning**) vs. bespoke TS orchestrator (erp `test/` Deno codebase) vs. pure CronJobs + scripts |
+| D2 | Orchestration runtime | Claude Agent SDK headless for cluster-triggered jobs + **hermes** for M4-side lanes (**leaning** — hermes already runs skills + cron there) vs. bespoke TS orchestrator (erp `test/` Deno codebase) vs. pure CronJobs + scripts |
| D3 | KM monthly invoice firing | enable Dolibarr template auto-fire (`frequency>0`) vs. agent-fired via sandbox+promote (**leaning** — keeps the gate + mention audit in-line) |
| D4 | PDP (e-invoicing platform) | shortlist + Dolibarr 22 module compatibility test on sandbox — **must close before 2026-09-01** ([C12](challenges.md#c12--e-invoicing-reform-unknowns)) |
| D5 | OCR provider for scanned docs | Mistral OCR (EU cloud) vs. local vision model on M4 vs. Tesseract baseline |
| D6 | Pi inference serving | llama.cpp server vs. Ollama on arm64, resource limits, node pinning ([C5](challenges.md#c5--slm-capability-ceiling-on-pi-hardware)) |
+| D7 | Cluster↔vault access | git clone/pull of the SecondBrain remote (**leaning** — the Gitea remote exists, offline-friendly, reviewable) vs. tunneled Obsidian REST API (M4-only today) vs. keeping vault access M4-exclusive |
-D4–D6 close with their mapped POCs ([POC-6](poc-plan.md#poc-6--e-invoicing-readiness-spike), [POC-5](poc-plan.md#poc-5--model-routing-bench), [POC-2](poc-plan.md#poc-2--pi-sentinel)); D1–D2 are settled while building phase 3's standing fleet (the queue and scheduler *are* its skeleton); D3 lands with phase 4's money loops.
+D4–D6 close with their mapped POCs ([POC-6](poc-plan.md#poc-6--e-invoicing-readiness-spike), [POC-5](poc-plan.md#poc-5--model-routing-bench), [POC-2](poc-plan.md#poc-2--pi-sentinel)); D1–D2 are settled while building phase 3's standing fleet (the queue and scheduler *are* its skeleton); D3 lands with phase 4's money loops; D7 closes when the first cluster-side atom needs vault context (phase 3 at the earliest).
diff --git a/vibe/PRD/ai-back-office/challenges.md b/vibe/PRD/ai-back-office/challenges.md
index 9b9aa6e..f373828 100644
--- a/vibe/PRD/ai-back-office/challenges.md
+++ b/vibe/PRD/ai-back-office/challenges.md
@@ -30,7 +30,7 @@ Each challenge states what breaks, the mitigation strategy, and the **residual**
## C4 — Data confidentiality & sovereignty
**Breaks:** sensitive financial/contractual content ends up in a cloud it shouldn't be in; credentials leak into prompts or journals.
-**Strategy:** data classes (`public`, `internal`, `sensitive-financial`) with a class→tier ceiling ([routing policy](model-fleet.md#routing-policy)): sensitive stays local or EU-cloud; escalations carry minimized structured fields, not raw documents; secrets only via Vault/ENV (never in prompts, journals scrubbed); mailbox and bank scopes read-only by construction.
+**Strategy:** data classes (`public`, `internal`, `sensitive-financial`) with a class→tier ceiling ([routing policy](model-fleet.md#routing-policy)): sensitive stays local or EU-cloud; escalations carry minimized structured fields, not raw documents; secrets only via Vault/ENV (never in prompts, journals scrubbed); mailbox and bank scopes read-only by construction. The second brain's own `--local` lane (Ornith via hermes — nothing leaves the Mac) already embodies this doctrine for vault content.
**Residual:** the human can explicitly widen a payload to the frontier tier when judgment says it's worth it — that judgment call is the point, not a leak.
## C5 — SLM capability ceiling on Pi hardware
@@ -66,7 +66,7 @@ Each challenge states what breaks, the mitigation strategy, and the **residual**
## C10 — Fleet maintenance burden & bus factor
**Breaks:** the fleet itself becomes the new admin burden — flaky atoms, stale prompts, undocumented behavior only its author (an LLM session) ever understood.
-**Strategy:** everything in git under house conventions (skills documented, runbooks with `[AGENT]`/`[HUMAN]` markers, guidebook updated same-change); the **graduation path** (prototype skill → frozen deterministic script + tests) shrinks LLM surface over time; the explicit kill rule — *an atom that needs weekly babysitting gets demoted or deleted*; fleet net-value reviewed monthly (time saved vs. time spent tending).
+**Strategy:** everything in git under house conventions (skills documented, runbooks with `[AGENT]`/`[HUMAN]` markers, guidebook updated same-change); the **graduation path** (prototype skill → frozen deterministic script + tests) shrinks LLM surface over time; vault deposits reuse the second brain's proven idempotent-frontmatter pattern (re-runs never duplicate); the explicit kill rule — *an atom that needs weekly babysitting gets demoted or deleted*; fleet net-value reviewed monthly (time saved vs. time spent tending).
**Residual:** single human operator remains the bus factor for the *company* — out of scope for this PRD, but the evidence packs and runbooks are written so a successor (or expert-comptable) could reconstruct the books.
## C11 — Laptop-tier availability
diff --git a/vibe/PRD/ai-back-office/model-fleet.md b/vibe/PRD/ai-back-office/model-fleet.md
index 7d0b04d..629115f 100644
--- a/vibe/PRD/ai-back-office/model-fleet.md
+++ b/vibe/PRD/ai-back-office/model-fleet.md
@@ -12,11 +12,13 @@
| Tier | Where | Availability | Assigned work | Data policy | Marginal cost |
| --- | --- | --- | --- | --- | --- |
| **Pi SLM** | k3s cluster (pi1–3, arm64), llama.cpp/Ollama server, quantized 1–4B | **24/7** (survives cloud + laptop outages) | T01 triage, T11 reminders, event detection, queue enrichment | everything stays in the lab | ~0 € (electricity) |
-| **M4 local** | MacBook Pro M4, Ollama/MLX, 7–30B class | **when awake** — opportunistic, never time-critical | T02/T16 sensitive extraction, T09 cash report, second extractor, drafting | on-device; bank/contract content never leaves | 0 € |
+| **M4 local** | MacBook Pro M4 — the hermes runtime (local **Ornith** reasoning model, `127.0.0.1:18080`) · Ollama/MLX 7–30B class | **when awake** — opportunistic, never time-critical | T02/T16 sensitive extraction, T09 cash report, T17 vault capture/retrieval, second extractor, drafting | on-device; bank/contract/vault content never leaves | 0 € |
| **Mistral (EU cloud)** | La Plateforme API (Mistral Large/Medium class + OCR) | on-demand | second/independent extractor, OCR for scans, FR fiscal wording, volume overflow | EU residency; acceptable for business documents | cents/doc |
| **Claude (frontier)** | Claude Code + skills (interactive), Agent SDK / API (headless) | on-demand | business validation vs fiscal profile, manifest assembly, orchestration, escalations, T12 research, **building the atoms themselves** | prefer minimized/structured payloads; full docs only when the human says so | subscription + API cents |
-Model *candidates* per tier (evaluate at POC time — the named models will age faster than this PRD): Pi → Qwen3 1.7B/4B, Gemma 3 1B/4B class GGUF Q4; M4 → Qwen3 14B/30B-A3B, Mistral Small 3.x, Gemma 3 27B class (RAM-dependent); Mistral → current Large/Medium + dedicated OCR; Claude → current Opus-class frontier model. [POC-5](poc-plan.md#poc-5--model-routing-bench) produces the actual accuracy/latency/cost table; the registry's `model_policy` fields hold the outcome, not this page.
+Model *candidates* per tier (evaluate at POC time — the named models will age faster than this PRD): Pi → Qwen3 1.7B/4B, Gemma 3 1B/4B class GGUF Q4; M4 → already resident: **Ornith served by hermes**; candidates Qwen3 14B/30B-A3B, Mistral Small 3.x, Gemma 3 27B class (RAM-dependent); Mistral → current Large/Medium + dedicated OCR; Claude → current Opus-class frontier model. [POC-5](poc-plan.md#poc-5--model-routing-bench) produces the actual accuracy/latency/cost table; the registry's `model_policy` fields hold the outcome, not this page.
+
+The [second brain](agent-architecture.md#knowledge-layer--the-second-brain) already declares its own routing doctrine — *Claude by default · Mistral for well-defined tasks · Ornith/hermes local for the confidential* — this fleet generalizes a policy the vault has been living by, it does not invent one.
## Routing policy
diff --git a/vibe/PRD/ai-back-office/qa-strategy.md b/vibe/PRD/ai-back-office/qa-strategy.md
index 5bda3b9..5d2e93f 100644
--- a/vibe/PRD/ai-back-office/qa-strategy.md
+++ b/vibe/PRD/ai-back-office/qa-strategy.md
@@ -53,4 +53,4 @@ Per atom, mechanical, recorded in the registry ([ladder](README.md#the-autonomy-
## Evidence trail
-Every month yields an audit pack: the coherence audit ([T15](task-inventory.md#t15--monthly-coherence-audit)), the month's run journals, snapshot content-hashes, approval-card decisions, and fiscal sheets — archived in git + GED. The pack is written for a third party (expert-comptable, auditor, or a future operator): it must let them reconstruct *what the fleet did and why* without access to this PRD or any chat history.
+Every month yields an audit pack: the coherence audit ([T15](task-inventory.md#t15--monthly-coherence-audit)), the month's run journals, snapshot content-hashes, approval-card decisions, and fiscal sheets — archived in git + GED. The pack is written for a third party (expert-comptable, auditor, or a future operator): it must let them reconstruct *what the fleet did and why* without access to this PRD or any chat history. A distilled summary of each pack also lands in the second brain ([T17](task-inventory.md#t17--knowledge-capture--retrieval-second-brain)), so institutional memory outlives both chat logs and this repo.
diff --git a/vibe/PRD/ai-back-office/task-inventory.md b/vibe/PRD/ai-back-office/task-inventory.md
index a475cdc..c8ec5a8 100644
--- a/vibe/PRD/ai-back-office/task-inventory.md
+++ b/vibe/PRD/ai-back-office/task-inventory.md
@@ -29,6 +29,7 @@ Every recurring admin/accounting task, with its mode opératoire. Steps carry th
| [T14](#t14--backup--restore-verification) | Backup & restore verification | daily / monthly drill | CronJob live; restore manual | **A3** | cluster (no LLM) |
| [T15](#t15--monthly-coherence-audit) | Monthly coherence audit | 1st of month | skills exist, composed by hand | **A3** | Claude |
| [T16](#t16--document-filing--retention) | Document filing & retention | per document | ad-hoc | **A2** | M4 |
+| [T17](#t17--knowledge-capture--retrieval-second-brain) | Knowledge capture & retrieval (second brain) | per run + weekly | vault automation live (hermes cron); no fleet wiring | **A3** | M4 (hermes) |
Backlog (not yet specified): [see bottom](#backlog--deferred).
@@ -190,7 +191,7 @@ Backlog (not yet specified): [see bottom](#backlog--deferred).
- **Trigger:** quarterly, plus event-driven (a `government-admin` mail announcing a change).
- **Mode opératoire:**
1. [AGENT] Targeted research pass over official sources (service-public, BOFiP, impots.gouv, URSSAF) scoped to the company profile: TVA regime mechanics, e-invoicing reform status (PDP list, formats, deadlines), thresholds that change obligations (CA3 monthly above 1 M€, IS rates, franchise thresholds).
- 2. [AGENT] Emit a diff proposal against the fiscal-profile file + calendar (what changed, source links, effective dates).
+ 2. [AGENT] Emit a diff proposal against the fiscal-profile file + calendar (what changed, source links, effective dates); a short REX note of the change lands in the second brain ([T17](#t17--knowledge-capture--retrieval-second-brain)).
3. [HUMAN] Reviews and merges the PR; disagreements go to the expert-comptable question list.
- **Guardrails:** official sources only; every claim carries its source URL and effective date; the watch *proposes*, the human *adopts*.
- **Today:** ad-hoc research inside Claude sessions (this PRD's regulatory table came from one).
@@ -215,7 +216,7 @@ Backlog (not yet specified): [see bottom](#backlog--deferred).
### T15 — Monthly coherence audit
- **Trigger:** 1st of month (after T07 has converged).
-- **Mode opératoire:** [AGENT] compose the read skills into one audit pack: every invoice's payment state vs bank evidence, TVA bases vs invoice lines, thirdparty completeness, template health, credit-note consistency, GED attachment presence; attach the month's snapshot hash; archive the pack (git + GED); digest the exceptions only.
+- **Mode opératoire:** [AGENT] compose the read skills into one audit pack: every invoice's payment state vs bank evidence, TVA bases vs invoice lines, thirdparty completeness, template health, credit-note consistency, GED attachment presence; attach the month's snapshot hash; archive the pack (git + GED) and distill a summary note into the second brain ([T17](#t17--knowledge-capture--retrieval-second-brain)); digest the exceptions only.
- **Guardrails:** read-only; exceptions route to the owning task's queue rather than being fixed inline.
- **Today:** each check exists as a skill; composition is manual (the ad-hoc "cohort review" audit sessions run in Claude Code today). **Target: A3**; Claude tier.
@@ -226,6 +227,20 @@ Backlog (not yet specified): [see bottom](#backlog--deferred).
- **Guardrails:** originals are never modified or deleted; unresolvable documents go to a "to-file" queue, not a best-guess folder.
- **Today:** ad-hoc. **Target: A2**; M4 tier (documents stay local until filed).
+### T17 — Knowledge capture & retrieval (second brain)
+
+- **Trigger:** after any significant run (audit pack, fiscal sheet, incident, decision); the existing weekly digest (Monday 08:00); on-demand retrieval before context-hungry tasks.
+- **Substrate:** the operator's second brain — a PARA Obsidian vault (`00-Inbox` … `06-Zettel`), git-synced to the forge ([arcodange/SecondBrain](https://gitea.arcodange.lab/arcodange/SecondBrain)), already automated by `.automation/sb.py` (weekly digest, inbox triage, daily prefill, idempotent Gitea→Inbox ingest) on the **hermes cron ticker**, and exposed to agents via `mcp-obsidian` (local REST API). See the [knowledge layer](agent-architecture.md#knowledge-layer--the-second-brain).
+- **Mode opératoire:**
+ 1. [AGENT] **Capture:** deposit distilled notes (audit-pack summary, fiscal decision, supplier REX, incident post-mortem) into `00-Inbox/` — or the matching `02-Areas/Admin` / `02-Areas/Arcodange-Ops` / `01-Projects/Clients/…` page — with idempotent frontmatter, the pattern the Gitea ingest already proves (re-runs never duplicate; human notes never clobbered).
+ 2. [AGENT] **Retrieval:** before context-hungry tasks ([T05](#t05--client-invoice-issuance) contract terms, [T06](#t06--receivables-watch--dunning) dunning tone/history, [T12](#t12--regulatory-watch) regulatory baseline), query the vault (dataview / `mcp-obsidian`) and carry retrieved facts *with their note dates*.
+ 3. [AGENT] The existing weekly digest weaves fleet notes alongside personal ones; nothing new to build there.
+ 4. [HUMAN] Files/links agent notes during the weekly PARA ritual (inbox → Projects/Areas/Resources); deleting a note is legitimate feedback, journaled.
+- **Outputs:** inbox/area notes; retrieval bundles for other atoms.
+- **Guardrails:** agents never edit human-authored notes in place (append/inbox only); the vault is **trusted-but-stale** context — the ERP is the book of record, and a note contradicting it (or older than its subject's last ERP change) triggers re-verification, not belief; vault content routes per the vault's own doctrine (Claude default · Mistral for well-defined tasks · Ornith/hermes local for the confidential).
+- **Today:** the vault side is live (digest Monday 08:00, Gitea ingest daily 07:00, daily note 07:05); the fleet side (deposits from runs, retrieval into pipelines) does not exist yet.
+- **Target:** **A3** (append-only inbox deposits are trivially reversible and human-curated weekly; retrieval is read-only); M4 tier via hermes.
+
---
## Backlog — deferred