Pre-Computed Markdown Chunk Models
Pre-Computed Markdown Chunk Models
To avoid slow parsing scripts during user prompt searches, Asterisk 2 splits document text into highly focused storage objects called Page Chunks. The application controller processes modified markdown strings to keep search databases clean and optimized.
Chunk Generation Lifecycle
The diagram below details the automatic parsing loop maintaining clean RAG snippet databases:
graph TD
%% Trigger Action
subgraph ActionTrigger["Document Update Operation"]
PostUpdate["POST /api/Documentation/page<br/>(Markdown Saved)"]
end
%% Chunking logic
subgraph LogicTier["Automatic Regex Processing"]
HeaderSplit["Split Document by Regex<br/>(Matches Line Starters)"]
CleanPass["Scrub Extraneous Carriage Returns"]
end
%% Relational Ledger
subgraph StorageTier["Chunk Ledger Database"]
PurgeOld["DELETE from PageChunks<br/>where PageId == Target.Id"]
InsertNew[("INSERT PageChunk Rows<br/>(ChunkIndex, Content Text)")]
end
%% Downstream Delivery
subgraph ConsumerTarget["AI Context Pipeline"]
DeliverRAG["Return Focused Text Snippet<br/>to User RAG Search"]
end
%% Flow Vectors
PostUpdate --> HeaderSplit
HeaderSplit --> CleanPass
CleanPass ==>|"Execute Transaction"| PurgeOld
PurgeOld ==>|"Atomic Commit"| InsertNew
InsertNew ==>|"Index Pre-Computed"| DeliverRAG
%% Custom Curated Colors
classDef triggerToken fill:#0f172a,stroke:#38bdf8,stroke-width:2px,color:#fff,rx:6px,ry:6px;
classDef logicToken fill:#1e293b,stroke:#a855f7,stroke-width:2px,color:#fff,rx:6px,ry:6px;
classDef storeToken fill:#312e81,stroke:#ec4899,stroke-width:2px,color:#fff,rx:6px,ry:6px;
classDef targetToken fill:#065f46,stroke:#10b981,stroke-width:2px,color:#fff,rx:6px,ry:6px;
class ActionTrigger,PostUpdate triggerToken;
class LogicTier,HeaderSplit,CleanPass logicToken;
class StorageTier,PurgeOld,InsertNew storeToken;
class ConsumerTarget,DeliverRAG targetToken;
Model Attribute Blueprint
1. PageChunk Entity Fields
ChunkId(int): Primary automatic auto-increment identity integer.PageId(int): Mandatory foreign key binding the isolated snippet directly to its original parent document.ChunkIndex(int): Sequential numerical integer preserving the real reading layout sequence of the sub-headings.Content(string): Indexed text fields retaining unescaped markdown sub-block instructions.
Referential Safeties
If a parent Page record triggers deletion inside ApplicationDbContext, relational cascading triggers immediately drop all mapped PageChunk entries, completely preventing obsolete RAG tokens from skewing prompt generation logic.