Sibyla Development Plan v4.0 — FDR + Claude CLI

GOTT Sibyla — project evolution

Generated 2026-07-30 from git history and backlog across both repositories. Roadmap reset Jul 29 to Development Plan v4.0: PostgreSQL now mirrors the Fiscal Document Registry's (FDR) layer 1–4 table model, single-document extraction runs on headless Claude CLI, and .NET remains the deterministic decision, persistence, and side-effect layer. ERP integrations and the bank/management layers are parked for Phase 2.

v4.0 backlog progress
1%
1 of 79 P1 items done; 14 foundation items carry over
Current phase
P1-0
Contract and schema design freeze
Tests passing
246*
Pre-pivot count on the v3.2 schema; rebased in P1-1
Sibyla commits
82
29 days, 4 contributors, 19 merged branches
Est. time left
Too early to call
Roadmap reset Jul 29 — no v4.0 pace data yet

Two repositories back this project: GOTT.Sibyla (orchestration, extraction, integration) and GOTT.IdentityServer (OIDC/OAuth login), detailed below.

Backlog progress by phase — Sibyla v4.0

Foundations Carried over from v3.2
100%
P1-0 Contract and schema design freeze
10%
P1-1 Schema migration and reference-data seed
0%
P1-2 Claude CLI runtime
0%
P1-3 Production skill v1
0%
P1-4 Deterministic pipeline
0%
P1-5 Reference-layer management UI
0%
P1-6 Review and document UI
0%
P1-7 Archive (Nextcloud)
0%
P1-8 Excel export (on demand)
0%
P1-9 Channels, durability, pilot
0%
Done In progress Not started

Phase 2 (parked, not counted above): FDR bank-movements (layer 5) and management (layer 6), the already-implemented provider-neutral integration core + Moloni adapter (sandbox/live acceptance pending), the parked Hermes financial-agent proposal engine, and deeper Legal/Procurement metadata. Nothing here was deleted — it's built and waiting for Phase 2 re-planning, not re-work.

Estimated time remaining

Elapsed since kickoff
29 days
Jul 1 kickoff to Jul 30
Elapsed since v4.0 reset
1 day
Jul 29 roadmap reissue to Jul 30
v4.0 velocity baseline
Not yet established
1 P1 item closed since reset
Projected date
Withheld
Revisit after P1-0/P1-1 close

The v3.2 pace numbers this section used to show (~35% done, ~Sep 9 projection) no longer apply: the backlog itself was replaced on 2026-07-29 by Development Plan v4.0, so a linear projection from pre-reset history would extrapolate from the wrong denominator. The 14 foundation items carry over untouched, but the 79-item P1-0…P1-9 execution backlog is new and effectively just started (1 item done: the DOCTYPE/FlowType naming decision). A meaningful pace estimate needs a few closed phases first — realistically once P1-0 (contract/schema freeze) and P1-1 (migration) are done — rather than one that's fabricated from a single day of data.

Activity timeline — code and operations

Code commits and hands-on server/tooling work shown on the same day-by-day axis so the two can be read together. They stay in separate charts rather than one: commit counts and hours aren't the same unit, and most of the OIDC/Mattermost configuration work on Jul 8, 9, 10, and 14 produced no commit at all, so stacking them into one bar would hide that.

Sibyla commits IdentityServer commits
Sibyla commits by date: Jul 1: 0, Jul 3: 1, Jul 6: 1, Jul 7: 5, Jul 8: 0, Jul 9: 0, Jul 10: 0, Jul 14: 0, Jul 15: 2, Jul 16: 3, Jul 17: 5, Jul 20: 6, Jul 21: 25, Jul 22: 11, Jul 23: 14, Jul 24: 1, Jul 25: 2, Jul 29: 6, Jul 30: 0. IdentityServer commits by date: Jul 1: 3, all other dates: 0 except Jul 16: 1. Note: Jul 22/23 counts were revised upward after a repository history sync on Jul 29 surfaced commits authored those days but merged later.
Server configuration and tooling (hours)
Hours by date: Jul 1: 0, Jul 3: 1.1, Jul 6: 2.5, Jul 7: 5.4, Jul 8: 5.2, Jul 9: 4.2, Jul 10: 0.5, Jul 14: 2.4, Jul 15: 3.4, Jul 16: 0.1, Jul 17: 2.5, Jul 20: 0, Jul 21: 9.4, Jul 22: 3.3, Jul 23: 0.4, Jul 24: 0, Jul 25: 0, Jul 29: 0, Jul 30: 0.

Runtime topology

Hermes Gateway
email / WhatsApp / Mattermost
GOTT IdentityServer
OpenIddict OIDC/OAuth 2.0 provider
Sibyla API
IIS, OIDC login + channel identity
PostgreSQL jobs
FOR UPDATE SKIP LOCKED claims
Sibyla Worker
Windows service, stages job dir + invokes Claude CLI
Claude CLI (headless)
single-document extraction — P1-2/P1-3
Hermes financial
parked — Phase 2 proposals
.NET deterministic
FDR persistence, gates, side effects

Replaces hermes -p documental-agent as the extraction engine; the restricted-runtime security pattern and PDF text/image staging pipeline are reused, re-targeted at the Claude CLI child process (P1-2).

GOTT.IdentityServer — supporting service

Self-hosted .NET 10 OpenID Connect / OAuth 2.0 provider (OpenIddict, ASP.NET Core Identity, PostgreSQL 18.4) that issues the OIDC/JWT identity Sibyla authenticates against. Separate repository, shared roadmap.

Commits
4
Jul 1 kickoff, Jul 16 UI/identity update
Working tree
40 files
Uncommitted: profile self-service, email change, multilingual UI
Tests
19
Client secrets, localization routing, profile (3 test files)
Lines of code
~5.3k
Plus ~0.8k in tests, excludes generated migrations
  • OpenIddict authorization code + PKCE and client-credentials flows
  • Admin console: clients, roles, scopes, per-client branding
  • Multiple named client secrets per client, zero-downtime rollover
  • ASP.NET Core Identity with password reset via Office365 SMTP
  • Multilingual UI (English / Portuguese) added Jul 16
  • Docker Compose, container or local PostgreSQL launch profiles
  • Production issuer configured at login.gottsolutions.net
  •  In progress, uncommitted: self-service profile page, verified email-change flow

Server configuration and tooling

Manual infrastructure and operations work across both projects — Hermes Gateway, Mattermost, WhatsApp, IdentityServer OIDC, and Apolo channel intake — tracked by session rather than by commit. Charted alongside code commits above.

Total tracked time
40h29
13 sessions across Jul 3–23
Longest session
9h23
Jul 21 — Mattermost/Apolo intake, Graph/WhatsApp config split
Recurring focus
OIDC
Mattermost + IdentityServer logout patch, Jul 8–17
DateTimeMain focus
Jul 31h06Hermes/web/search configuration; started Hermes/SibylaMem backup
Jul 62h32Codex/Hermes setup and auth; Hermes update; backup continued
Jul 75h24Hermes backup cron, WhatsApp allowlist, memory/profile, Dashboard + IdentityServer OIDC, WebSocket
Jul 85h14Apolo/Hermes profile configuration; Mattermost Docker/OIDC bring-up
Jul 94h14Mattermost + IdentityServer/OIDC
Jul 100h29Mattermost/IdentityServer follow-up
Jul 142h26Hermes Dashboard logout patch validation/OIDC
Jul 153h22Continued OIDC logout patch validation
Jul 160h06Small logout/OIDC follow-up
Jul 172h31Final logout/OIDC verification
Jul 219h23Mattermost/Apolo channel intake + Graph/WhatsApp/Hermes config distinction + operational handoffs
Jul 223h18Sibyla live deployment checks, IIS/AppPool/Worker verification, backup and PostgreSQL dump/hash evidence, health/OIDC endpoint checks
Jul 230h24Model/tooling configuration decisions, brief Hermes/channel-intake follow-up

Open risk

Blocked — security
Carried over from v3.2, now wider in scope (P1-2): the restricted-token/service-identity design must cover both the PDF text-extraction helper and the new Claude CLI child process the Worker invokes for extraction. ACLs need to grant only helper read/execute plus transient-job-directory access, deny network-capable SIDs beyond what the CLI itself needs, and allow no application, database, or secret access. Still needs target-host validation; production is gated on this.

Foundations carried over — what's implemented — Sibyla v4.0

Recent activity — Sibyla

DateTypeCommit
Jul 29choreUpdate .NET packages to 10.0.10
Jul 29docsRevise v4 roadmap after repository sync
Jul 29mergeorigin/main → feature/document-type-settings
Jul 29mergefeature/moloni-multi-erp-core → main
Jul 29mergehotfix/whatsapp-lid-sender → feature/moloni-multi-erp-core
Jul 29docsUpdate roadmap for FDR development plan v4.0
Jul 25mergemerge/whatsapp-lid-to-main → main
Jul 25mergehotfix/whatsapp-lid-sender
Jul 24fixAuthorize strict WhatsApp LID senders
Jul 23featAdd Moloni reconciliation
Jul 23featAdd Moloni sales pull
Jul 23featAdd Moloni purchase writer pilot
Jul 23mergefeature/document-type-settings → main
Jul 23mergedocs/moloni-multi-erp-priority → main
Jul 23docsDocument multi-provider integration plan
Jul 23featAdd Moloni connection UI tester

Jul 29's roadmap commits are the pivot point: they retire the v3.2 backlog, reissue it as Development Plan v4.0, and formally park the Moloni/Cegid work shown above under Phase 2.