How atqatq/sentinel works
Sentinel is a multi-tenant supply-chain planning, sourcing, and intelligence layer over Precoro: it ingests file drops, produces plans and proposals, governs approvals, then reconciles and measures execution without writing back to Precoro. The graph preserves the README’s major capabilities and documented architecture. Some subsystem links are based on README-level descriptions because their runtime sources were not sampled; uncertain wiring is omitted.
Main entry points: index.js Tenant Data Store · cf-api.js CF Decision Gate · login.js Authentication · worker.js File-to-Rows
Components 24
File Ingestion
- Ingestion Worker
apps/worker/src/main.js - File-to-Rows
packages/ingest-service/src/worker.js - Ingestion Rules
packages/core/modules/ingestion/src/parse.js - Ingestion Adapter
packages/db/ingest-worker-adapter.js
Planning
- Plan Run Boundary
packages/plan-service/src/handler.js - MRP Engine
packages/core/modules/planning-engine/src/engine.js - Calendar Rules
packages/core/modules/calendar/src/calendar.js
Governance And Feedback
- Execution Feedback
packages/core/modules/execution-feedback/src/feedback.js - Supplier Scorecards
packages/db/scorecard-adapter.js - CF Decision Gate
packages/procure-service/src/cf-api.js - Approval Controls
packages/core/modules/approval/src/decide.js - Append-only Ledger
packages/core/modules/ledger/src/records.js
Operations And Intelligence
- Freshness And Health
packages/core/modules/ops/src/datahealth.js - Intelligence Policy
packages/core/modules/intelligence/src/policy.js - KPI Catalog
packages/core/modules/kpi-catalog/src/catalog.js - Restore Rehearsal
packages/core/modules/dr/src/rehearsal.js
User Surface
- Plan API
apps/web/src/app/api/plan/route.ts - CF Approval API
apps/web/src/app/api/approvals/cf/route.ts - Authentication
packages/core/modules/auth/src/login.js - Data-health API
apps/web/src/app/api/data-health/route.ts - Tenant Setup
packages/core/modules/setup/src/steps.js - Web Application
apps/web/src/app/page.tsx
Other components
- Precoro Exports
- Tenant Data Store
packages/db/index.js
Connections 25
- Precoro Exports → Ingestion Worker: supplies files
- Ingestion Worker → File-to-Rows: processes claims
- File-to-Rows → Ingestion Rules: parses and normalizes
- File-to-Rows → Ingestion Adapter: persists rows
- Ingestion Adapter → Tenant Data Store: reads and writes
- Plan API → Authentication: resolves session
- Plan API → Plan Run Boundary: runs plan
- Plan Run Boundary → MRP Engine: computes plan
- Plan Run Boundary → Tenant Data Store: reads and seals
- MRP Engine → Calendar Rules: uses calendar basis
- Execution Feedback → Tenant Data Store: records realized facts
- Supplier Scorecards → Tenant Data Store: reads scorecard data
- CF Approval API → Authentication: resolves session
- CF Approval API → CF Decision Gate: submits decision
- CF Decision Gate → Approval Controls: evaluates decision
- CF Decision Gate → Append-only Ledger: records decision
- CF Decision Gate → Tenant Data Store: reads and updates
- Data-health API → Authentication: resolves session
- Data-health API → Freshness And Health: reads health facts
- Freshness And Health → Tenant Data Store: derives from records
- Intelligence Policy → Web Application: governs reports
- KPI Catalog → Web Application: defines KPI surface
- Restore Rehearsal → Tenant Data Store: evaluates restore state
- Tenant Setup → Tenant Data Store: guides tenant setup
- Authentication → Tenant Data Store: reads credentials and sessions