qonto-assistant/SCOPE.md
tegwick 8a1b32ccf6 Adopt staged WORK-RECORDS generation and catch the index up.
The generated index had drifted from the workplan files. The opt-in lets
the pre-commit hook rebuild WORK-RECORDS.md in the same commit as the
workplan it indexes.

Assistant: grok
Assistant-Session: 01a17f9d-fe9d-7d72-9a22-6304f1a2a790
2026-10-28 00:31:09 +01:00

73 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# SCOPE
> Refined after `statehub register` (2026-07-21). Normative intent in
> `INTENT.md`; architecture in `specs/ArchitectureBlueprint.md`.
## One-liner
Policy-governed Qonto domain **REST + MCP** assistant: sole bank-key consumer
and default-deny **no spend / no volume-cost** policy for multi-harness finance
awareness.
## Core idea
All agents and harnesses talk to **this service** for Qonto. None of them hold
the OpenBao bank secret. Policy is enforced here once, not reimplemented per
client.
## In scope
- Dual surfaces: streamable-HTTP MCP and JSON REST with a **shared policy kernel**
- Read capabilities: org/accounts/balances, transactions (bounded), CostRunRate
hints / snapshot helpers
- OpenBao consumption for `tenants/<tenant>/qonto-api` (dogfood: binky)
- Authn of callers (OIDC / workload identity) and optional flex-auth checks
- Audit metadata (actor, tool, allow/deny) without secret leakage
- Tests for default-deny and spend/volume-cost rejection
- Docs for harness client config (no bank secrets)
## Out of scope (v1 and hard)
- Payments, transfers, SEPA, card operations, invoicing create, plan changes
- Hosting or recommending the hosted Qonto OAuth MCP connector
- DATEV / StB / DUO bookkeeping replacement
- LLM provider routing (llm-connect)
- Agent scheduling (activity-core) or session runtime (agent-harness)
- Generic multi-MCP fleet gateway (may sit *in front* later; not this repo’s job)
- Storing bank credentials outside OpenBao
## Current state
| Artifact | Status |
| --- | --- |
| INTENT / SCOPE / AGENTS | present |
| Architecture blueprint | `specs/ArchitectureBlueprint.md` |
| Research notes | `research/2026-07-21-…` |
| Runtime implementation | REST + MCP, policy/auth gates, audit reconciliation implemented (see workplans) |
| Upstream custody | live in platform (`binky-qonto-api`, CCR-2026-0008) |
## Getting oriented
1. `INTENT.md` — why / boundaries
2. `specs/ArchitectureBlueprint.md` — how
3. `research/2026-07-21-mcp-gateway-and-governed-domain-assistant.md` — why this shape
4. `workplans/` — what to do next
5. `AGENTS.md` — State Hub protocol
## Generated work-record index
This repository opts into staged-source WORK-RECORDS.md generation through
`.generated-work-records.json` and the isolated `.generated-work-records.mk`
recipe. `make generated-work-records` reuses the State Hub renderer through
the Custodian adapter; `make generated-work-records-check` verifies byte-exact
agreement with staged Markdown. The pre-commit hook uses the isolated recipe,
preserves unstaged index edits by refusing them, and retains the generated-only
commit guard. It does not contact the hub, alter workplan statuses, or grant
deployment authority. This consumes shared tooling; it does not make this
repository the provider of the generator capability.
## Local orientation brief policy — 2026-10-21
`.custodian-brief.md` is a local, ignored State Hub orientation snapshot. Refreshing
it does not require a Git commit. Authored workplans and the generated
WORK-RECORDS index keep their existing source and staged-generation contracts.