NODEDC_1C/docs/refresh_strategy.md

1.6 KiB

Refresh Strategy (Layer 3)

Date: 2026-03-23
Status: MVP implementation available (canonical_layer/refresh.py)

1. Goal

Provide controlled extraction from 1C into canonical store with reproducible runs, checkpoints, and operational audit trail.

2. Refresh modes

Historical

  • bootstrap population of canonical store
  • wide scan of selected entity sets
  • used to build initial baseline

Incremental

  • regular updates for open periods
  • optional date window (date_from, date_to)
  • preferred default daily mode

Targeted

  • selective refresh for one account/document/counterparty context
  • optional target_id text filter
  • used for point recovery and drill-down gaps

3. Runtime behavior

  1. Resolve entity sets (explicit list or keyword-based discovery).
  2. Read records from 1C OData per entity set (bounded by limit_per_set).
  3. Apply optional date and targeted filters.
  4. Map rows to canonical entities and links.
  5. Upsert entities/links to canonical store.
  6. Update checkpoints for successful sets.
  7. Persist run status and metrics into refresh_runs.

4. Run statuses

  • success: all requested sets processed
  • partial_success: at least one set processed, at least one failed
  • failed: no sets processed successfully

5. Execution interfaces

CLI:

  • python scripts/run_refresh.py --mode incremental ...

PowerShell wrapper:

  • scripts/run_refresh.ps1

API:

  • POST /refresh/run
  • GET /refresh/runs
  • GET /store/stats

6. Safety constraints

  • Read-only integration policy stays unchanged.
  • No write-back into 1C.
  • Local canonical store is internal analytical cache, not source of truth.