chore: register pages features APIs and data contracts

This commit is contained in:
leefer
2026-07-29 17:07:39 +08:00
parent 444f3c1556
commit 12c0f4777d
8 changed files with 866 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# Stage 04: Governance Registries
Date: 2026-07-29
## Result
Four versioned registries now describe the existing product before runtime decomposition:
1. `config/pages.config.json` registers all 16 primary workspaces.
2. `config/features.config.json` registers 20 feature owners and their access/data scope.
3. `config/api.config.json` registers 74 method/path combinations, including dynamic paths.
4. `config/data-fields.config.json` registers 18 initial canonical data products and provider
eligibility.
The API registry is generated from the current request handler so route drift fails tests. The
other registries are curated contracts and may change only through an explicit product or data
governance decision.
## Access Decisions Preserved
- Health, login, and registration are public.
- Market views require an authenticated account.
- Intelligent screening, Mentor, Wentian, and their history endpoints require membership.
- My Review remains visible to authenticated users; LLM assistant endpoints remain member
gated inside that workspace.
- System management and shared knowledge modification remain administrator-only.
- Frontend visibility does not grant API access.
## Data Decisions Preserved
- Tushare and licensed iFinD data may be calculation inputs when a dataset contract permits it.
- Eastmoney and Tencent public endpoints are display-only in the initial registry.
- Analyst consensus history and Level-2 microstructure remain blocked rather than silently
approximated.
- Chart fallbacks remain separate from calculation datasets.
- The current unadjusted deterministic daily-bar behavior is recorded honestly; adjustment
normalization is deferred to the data-quality phase rather than changed here.
## Transitional Rule
These files do not yet replace `server.py`, `api_access.py`, or the current frontend navigation.
They are checked against those surfaces to prevent untracked drift. Later phases make each
registry authoritative in one atomic migration with compatibility tests.
## Verification
`tests/test_governance_registries.py` verifies uniqueness, page coverage, current API coverage,
explicit public routes, feature ownership, role validity, and provider eligibility.