What this category's data looks like
In the off-campus training compliance filing and penalty response scenario, materials mainly come from three types of paper or electronic documents: school operation licenses, course filing materials, and fee disclosure. The update cadence follows filing batches, annual inspection cycles, and rectification notices. Field characteristics center on institution name, course name, number of class hours, fee amount, effective date, signature, and receipt. The school operation license serves as the master document for subject qualification, course filing materials serve as the basis for course scope and class hours, and fee disclosure serves as the source for price and refund terms. When these three types of materials enter the parsing and chunking stage, each is stored as an independent file record. Immediately after parsing is complete, a visible data row is formed and bound to a unique data identifier for subsequent retrieval and discrepancy localization.
Configuration and implementation checks
This step is executed by the parsing and training task (server-side task), which outputs data rows and index status (parsed, indexing, indexed). The "discrepancy list" is then completed by retrieval and subsequent processing.
| Object | Check | Verification action |
|---|---|---|
| School operation license | Institution name, school address, validity period, and signature/seal are consistent between the license and the ledger | Check the name and date fields of the license data row against the ledger record, confirm that fields are not truncated after chunkSize chunking, and check whether the data row is in indexed status |
| Course filing materials | Course name, number of class hours, teaching dates, and filing receipt are consistent between the course filing materials and the fee disclosure | Open the course filing and fee disclosure data rows separately, compare quantities and dates, record inconsistent fields, and check whether fields are complete after chunkSplitter splitting |
| Fee disclosure | Fee items, amount basis, refund rules, and disclosure date are consistent between the fee disclosure and the course filing materials | Check the amounts and dates of the fee disclosure data row against the course filing data row, check whether signatures or receipts are missing, and confirm the processing mode corresponding to trainingType |
| Data row index status | The data row is in one of the three states parsed, indexing, or indexed and is consistent with the interface display | Check the data row status, confirm that data pending indexing does not participate in recall, and that rebuild only covers indexed data |
Three common errors
- Symptom: The name, quantity, and date of the same course do not match between the filing materials and the fee disclosure. Cause: The two materials are parsed and stored separately, fields are not aligned across files, and discrepancies are not localized.
- Symptom: The school operation license has been updated, but the course filing materials still use the old version. Cause: The version was not synchronized, and the old data row is still in indexed status and is hit by retrieval.
- Symptom: The fee disclosure lacks a signature or receipt, but the material still enters the parsing process. Cause: Parsing is only responsible for storage and chunking; missing signatures are not intercepted at the parsing stage.
How to verify the setup
Acceptance for this feature: Upload one material, observe the data row status transition from parsed to indexing to indexed, check the chunkSize chunking result, and check that the rebuild task only covers indexed data rows.
Business test: Use one real record to find fields inconsistent with the ledger, record the inconsistent items among name, quantity, and date, and submit them to the reviewer for confirmation and write-back.
- Check the file record and the data row identifier separately, and confirm that file and data row identities are distinguishable to avoid mixing them up.
- Check the data rows covered by the rebuild task, and confirm that only indexed data is targeted and that data pending indexing does not participate in the rebuild.