|
| 1 | +# Docs Conventions |
| 2 | + |
| 3 | +## Topic taxonomy (docs-md/) |
| 4 | + |
| 5 | +| Folder | Scope | |
| 6 | +| --- | --- | |
| 7 | +| `architecture/` | System-level design: HITL architecture, database services/roles, transaction/audit compliance, blob storage, document content hash, ephemeral document cleanup, reference data tables, template models, shared packages, audit table, HA | |
| 8 | +| `auth/` | Authentication (OAuth/Keycloak, API keys) and group resource authorization | |
| 9 | +| `groups/` | Group management APIs, membership requests, group frontend pages/context | |
| 10 | +| `workflows/` | DAG workflow engine, graph types, node/activity/OCR-provider guides, workflow builder, node catalog, lineage, config overrides, Temporal worker concurrency, Temporal payload footprint (gzip codec + OCR payload refs), `templates/` example configs | |
| 11 | +| `extraction/` | OCR/extraction: Azure AI models, classifiers, enrichment, field formatting, image normalization, confusion profiles/matrices, OCR improvement pipeline, OCR failure handling, OCR result views, ground truth, HITL datasets | |
| 12 | +| `operations/` | OpenShift deployment, environment configuration, backups, Azure infrastructure, secrets, npm hardening | |
| 13 | +| `monitoring/` | PLG stack, Helm charts, Promtail, dashboards, metrics, alerting, logging | |
| 14 | +| `benchmarking/` | Benchmarking system, load testing runbooks | |
| 15 | +| `frontend/` | Frontend-wide concerns: BC Design System migration, confirmation-modal and sentence-case standardization, header/upload UI, UI patterns not tied to one feature | |
| 16 | +| `archive/` | Historical/point-in-time artifacts only — see `archive/README.md` | |
| 17 | +| `wiki/` | Routing layer — rules in `wiki/README.md`, canonical agent rules in `AGENTS.md` (Repo Wiki section) | |
| 18 | + |
| 19 | +- New docs go in the matching folder. Create a new folder only when several related docs don't fit anywhere above; add it to `docs-md/README.md` and this table in the same PR. |
| 20 | +- Filenames: `SCREAMING_SNAKE.md` for reference docs (matches the majority convention). |
| 21 | + |
| 22 | +## Content rules |
| 23 | + |
| 24 | +- Current shipped behavior only. Requirements/user stories → `feature-docs/`; pre-implementation designs → historical once shipped. |
| 25 | +- No placeholders, no "future work" sections, no stubs. If describing target/planned UX is genuinely needed (e.g. design reference), open with an explicit status disclaimer stating what is and isn't implemented. |
| 26 | +- Reference code by repo-relative path. Prefer stable anchors (file paths, exported names) over line numbers. |
| 27 | +- Relative markdown links between docs; they must resolve from the doc's own folder. |
| 28 | +- The system is generic — no document-type-specific implementation guidance. |
| 29 | +- When code changes make a doc inaccurate, the doc is updated in the same PR (CLAUDE.md rule). |
| 30 | + |
| 31 | +## Archive policy |
| 32 | + |
| 33 | +A doc is archived (not deleted) when it stops describing current behavior: reports, one-off analyses, completed plans/status trackers, superseded requirements. Process is in [Workflows/Archive.md](Workflows/Archive.md). Delete only docs with no historical value. |
| 34 | + |
| 35 | +## Wiki boundary (summary — full rules in docs-md/wiki/README.md) |
| 36 | + |
| 37 | +- Wiki topic pages: short synthesis + `canonical_sources` links. 180-line soft limit. No runbooks, schemas, endpoint lists, or implementation guides. |
| 38 | +- Every wiki change: append a grep-friendly `log.md` entry (`## [YYYY-MM-DD] operation | Title`), update `sources.md` if canonical areas changed, record contradictions in `open-questions.md`, run `npm run docs:wiki:check`. |
0 commit comments