Current Wiki Source, Rendering And Access Inventory — 2026-08-08¶
- Status:
CURRENT STATIC SOURCE INVENTORY / CURRENT ENVIRONMENT EVIDENCE REQUIRED - Repository baseline:
qa/master@11c074373ab9fe946607980227b346ddc1da3312 - Evidence package:
RBR-EV-030 - Read-only package:
RBR-EV-030-READONLY-WIKI-INVENTORY-PREFLIGHT.md - Repository Wiki index:
docs/wiki/README.md - Publication checklist:
WIKI_CONTENT_REVIEW_PUBLICATION_AND_ROLLBACK_CHECKLIST.md - Phase implementation:
USER HOLD - Effects: source inspection and documentation only
1. Purpose¶
The repository contains three different Wiki-related authorities that are easy to confuse:
Repository Operations Manual catalogue and baseline content
Tenant-scoped T_WIKI_PAGE current Markdown
Rendered /operations-manual output under a specific user/role/tenant
This inventory establishes the current source-level relationship between them before any environment is read.
It answers:
Where does the initial catalogue come from?
When does T_WIKI_PAGE override repository baseline content?
Which fields identify one Wiki page?
How is an application page mapped?
How are Wiki assets related to the page?
What does the existing source-verification script prove?
Which facts still require DB, rendered-page and target-role evidence?
It does not claim that a named environment has the expected table, rows, mappings, assets or rendered content.
2. Authority Separation¶
Repository page definition
!= current tenant Markdown
T_WIKI_PAGE row exists
!= rendered page is healthy
Rendered page is healthy
!= target role can find it
PAGE_SLUG mapping exists
!= mapped application page is authorized for every role
Wiki draft exists in docs/wiki/internal
!= T_WIKI_PAGE current content
!= publication
Source signature current
!= tenant DB content current
T_FILE metadata exists
!= Wiki asset object is readable
Wiki URL opens
!= procedure is correct for current Runtime
The Process/source owner determines the business meaning. T_WIKI_PAGE owns current user-facing Markdown after publication. The Operations Manual page owns rendering and navigation. Repository packets own proposed content, traceability, diagrams and publication preparation.
3. Source Set Reviewed¶
Current Wiki storage and application logic¶
app/platform/wiki_repository.php
app/platform/api_routes.php
frontend/pages/platform/help/operations-manual.php
frontend/pages/platform/help/operations-manual-content.php
config/config.php
Schema inputs¶
scripts/migrations/2026-07-31_p1_006_wiki_page_store_forward.sql
scripts/migrations/2026-08-02_p1_006_wiki_editor_metadata_forward.sql
Source verification¶
scripts/verify_operations_manual_sources.php
tests/unit/wiki_page_store_test.php
Repository knowledge inputs¶
docs/wiki/README.md
docs/wiki/internal/PAGE_MAP.md
docs/wiki/internal/OPERATIONS_MANUAL_MASTER_BLUEPRINT.md
docs/wiki/internal/PROCESS_PROJECTION_REQUIREMENTS.md
docs/wiki/internal/PRIORITY_PROCESS_WIKI_COVERAGE_MATRIX.md
docs/wiki/internal/WIKI_CONTENT_REVIEW_PUBLICATION_AND_ROLLBACK_CHECKLIST.md
4. Current Storage Authority¶
4.1 Base table¶
The original source migration defines:
T_WIKI_PAGE
Base fields:
ID
UUID
CLIENT_ID
SLUG
ACTOR_USERNAME
URL
MARKDOWN
CREATED_AT
UPDATED_AT
DELETED_AT
Base uniqueness:
UUID
CLIENT_ID + SLUG
The later metadata migration adds:
TITLE
PAGE_SLUG
UNIQUE CLIENT_ID + PAGE_SLUG
Current source retains compatibility with an older table that lacks TITLE and PAGE_SLUG. wikiHasEditorMetadata() checks the columns before selecting or writing them.
4.2 Current page identity¶
The current repository reads a page by:
CLIENT_ID
+ normalized SLUG
A current page also requires:
DELETED_AT IS NULL
SLUG is normalized to lowercase and limited to a hyphenated alphanumeric form with maximum length 120.
4.3 Current URL¶
The source derives the current Wiki URL from the slug:
/operations-manual?doc=<normalized-slug>
A stored URL is not independent authority. The preflight checks whether stored URL matches the derived route.
4.4 Markdown limit¶
Current save validation requires non-empty Markdown and limits it to 2 MB.
4.5 Actor field¶
ACTOR_USERNAME records the editing actor label in the current row. It is not an immutable revision history and must not be treated as complete authorship or approval evidence.
current row actor
!= every historical editor
!= process owner approval
!= publication authorization
5. Repository Baseline And DB Override¶
The Operations Manual source comments establish the intended precedence:
Repository documents/catalogue
= initial Wiki baseline and curated page metadata/visuals
T_WIKI_PAGE saved page
= tenant-scoped rendered Markdown source
The repository catalogue contains page definitions such as:
overview
roles
ctc-daily
inbound-planning
loader-yard
billing
...
Each definition can contain:
- title/category/audience/status;
- summary/tags;
- profile applicability;
- parent/navigation relationship;
- Process IDs and lifecycle projection;
- curated diagrams/visual sections;
- source metadata and source signature;
- initial baseline content.
A DB page does not replace all repository metadata. It supplies current Markdown while the page definition and renderer continue to own catalogue/navigation/visual behavior.
This creates a required two-source review:
repository catalogue metadata
+ tenant T_WIKI_PAGE Markdown
+ rendered page under target role
= current user experience
Reviewing only one of the three is insufficient.
6. Application-Page Mapping¶
6.1 Mapping field¶
PAGE_SLUG optionally maps one Wiki topic to an application page slug.
6.2 Mapping source¶
Current mapping options are derived from tenant-scoped:
T_MENU
LEFT JOIN T_MODULE_PAGE
The source:
- excludes permission-only menu rows;
- excludes empty menu URLs;
- prefers
T_MODULE_PAGE.PAGE_URLand falls back toT_MENU.MENU_URL; - normalizes the route path into a slug;
- excludes
operations-manualitself; - groups menu labels under the normalized application page.
6.3 Save validation¶
When editor metadata exists, a non-null PAGE_SLUG must resolve through the current tenant menu-derived mapping options.
A repository-backed page whose Wiki slug changes must remain mapped when the static source slug differs and no mapping is supplied.
6.4 Important boundary¶
PAGE_SLUG accepted by current tenant mapping
!= target role can access that application page
The current Wiki inventory therefore records both:
- mapping existence for the tenant;
- rendered Wiki visibility and mapped application visibility for named roles.
7. Wiki Assets¶
Markdown can reference an image by:
wiki-asset://<uuid>
Current source limits one page to 50 distinct asset UUIDs.
A referenced asset must resolve through T_FILE with:
CLIENT_ID = page tenant
TABLE_NAME = T_WIKI_PAGE
TABLE_ID = Wiki PAGE_ID
TYPE = WIKI_ASSET
UUID = referenced UUID
DELETED_AT IS NULL
Accepted filename extensions:
jpg
jpeg
png
gif
webp
The current asset checkpoint is therefore:
Markdown reference
+ T_FILE metadata and page link
+ accepted type/extension
+ storage object readable
= usable Wiki asset
The DB inventory can establish references and metadata, but object readability requires an explicitly authorized read through the current file/storage owner.
8. Current Repository Verification Script¶
scripts/verify_operations_manual_sources.php is a read-only source consistency check. It does not query current T_WIKI_PAGE data.
It currently checks, among other source-level conditions:
- the Operations Manual renders a browser catalogue;
- only approved public fields are exposed;
- page IDs are unique;
- CTC/MK profile filtering is consistent for client IDs 1 and 2;
- Process IDs exist in
process-registry.yaml; - repository source paths and document anchors exist;
- source signatures match declared repository sources;
- parent catalogue entries exist;
- Process/profile/lifecycle traceability remains internally consistent.
Current source assumptions include a fixed registry closure baseline and profile distribution. Those assumptions are source-contract checks, not current DB or role evidence.
source verifier PASS
!= current tenant Wiki rows read
!= rendered authenticated page verified
!= current content accepted by operators
9. Current Rendering Questions¶
The rendered page must be reviewed under the exact environment, tenant and account because the current result can depend on:
- tenant profile/client ID;
- current
T_WIKI_PAGErows; - current menu/page mappings;
- role and menu access;
- current source release;
- current renderer and Markdown behavior;
- Wiki asset availability;
- selected
docslug; - repository baseline fallback.
The inventory records at minimum:
HTTP/result status
selected slug
visible title/category/audience
content source classification
Markdown hash
mapped application page
visible navigation path
role visibility
asset result
source freshness label
current/source/history/target wording
Screenshots are optional supporting evidence. They are not the authority for Markdown, mapping or role decisions.
10. Current Static Consumer Surfaces¶
Current source consumers include:
Operations Manual browser page
Platform Wiki API routes/editor flows
Repository source-verification script
Wiki unit tests
Process/Wiki projection documentation
Publication and rollback procedure
The current environment may also have external bookmarks or operator training references that repository search cannot discover. Stable slugs should therefore not be renamed or deleted solely because repository consumers are absent.
11. Current Unknowns¶
The following remain environment evidence questions:
T_WIKI_PAGE table and metadata-column presence
active/deleted row population by tenant
current Markdown hash and content
current PAGE_SLUG mappings
stored URL consistency
current actor/update timestamps
current Wiki asset references and object readability
repository baseline fallback actually used by each slug
rendered page result
role visibility and findability
current mobile/accessibility behavior
current stale/future/historical wording
external bookmark/operating-procedure consumers
No documentation-only source review can promote these to verified current state.
12. Required Classification¶
Each priority slug receives one content-source classification:
DB_CURRENT
DB_PRESENT_STALE
DB_PRESENT_CONFLICT
DB_PRESENT_UNMAPPED
DB_PRESENT_RENDER_ERROR
STATIC_BASELINE_ONLY
MISSING
ROLE_MISMATCH
ASSET_CONFLICT
UNKNOWN
It also receives one semantic classification:
CURRENT VERIFIED/ACCEPTED
CURRENT SOURCE-RECONCILED
CURRENT SOURCE PRESENT / EVIDENCE REQUIRED
HISTORICAL EVIDENCE
TARGET DESIGN
OPEN POLICY / UNKNOWN
MIXED OR MISLEADING
A page can be technically healthy and still semantically stale.
13. Static Source Conclusion¶
Wiki table/schema source:
PRESENT
Tenant Markdown repository layer:
PRESENT
Repository baseline catalogue:
PRESENT
Application-page mapping source:
PRESENT
Wiki asset relation source:
PRESENT
Source-only verification script:
PRESENT
Current environment table/rows/content:
NOT READ
Rendered role-specific pages:
NOT VERIFIED
Publication/readback:
NOT PERFORMED
Field acceptance:
NOT ESTABLISHED
14. Next Evidence¶
Execute only after exact authorization:
The execution must not publish, save, delete, upload, ACK, mutate menu/role state or alter Wiki assets.
---¶
Source:
docs/reconstruction/CURRENT_WIKI_SOURCE_RENDERING_AND_ACCESS_INVENTORY_2026-08-08.md— ctc repository · This page is an English translation of the source document. Identifiers, file paths and code symbols are unchanged.