Lewati ke isi

SC-DAP Pilot Evidence — scoladev (2026-06-11)

Mode: server · Workspace: /home/scola/odoo
Pilot tenant: scoladev · Odoo: odoo-devscola.conf port 8074
Docs read: provisioning-runbook.md §5.3, support-playbook.md, odoo-best-practice-gap-register.md GAP-04


1. Scope

Controlled rollout replay for SC-DAP (Dapodik connector + bridges) on the existing dev pilot server (scoladev), aligned with Phase 6 public-sector rollout notes in provisioning-runbook.md.

Out of scope for this pilot slice: live Dapodik server connectivity (no NPSN/token configured on pilot DB).


2. Topology & entitlement

Check Result
scola_bundle_dapodik installed installed
Bridge modules (scola_dapodik_*_bridge) ✅ installed
Company scola_enabled_addon_skus contains SC-DAP
scola_dapodik_entitlement default (enabled path)
Admin login feature_flags.scola_dapodik true

Installed modules (psql ir_module_module):

  • scola_bundle_dapodik
  • scola_bundle_dapodik_attendance
  • scola_dapodik_academic_bridge
  • scola_dapodik_attendance_bridge
  • scola_dapodik_connector
  • scola_dapodik_report_card_bridge

3. API smoke (admin session, 2026-06-11)

Endpoint Method Expected pilot behaviour Observed
/api/dapodik/config GET 404 JSON when no config row {"success":false,"error":"No Dapodik configuration found"}
/api/dapodik/test-connection POST (jsonrpc) Graceful error without config success:false, No Dapodik configuration found
/api/v1/report-card/dapodik/bootstrap POST (jsonrpc) Returns bootstrap payload success:true with sync metadata
/api/dapodik/sync-logs GET Paginated logs (empty OK) ✅ HTTP 200 {"success":true,"data":{"logs":[],"total":0}} — fix c4972ae

Not observed: feature_disabled on Dapodik paths with SC-DAP provisioned — APIs are reachable under entitlement, not hard-blocked at registry layer.


4. Registry alignment (GAP-01)

Dapodik prefixes are covered in api_route_access wave-2 (scola_dapodik feature flag). Teacher session on scoladev also reports scola_dapodik: true, consistent with full-profile dev tenant.


5. Verdict

Item Status
Install topology optional + bundle path ✅ Proven on pilot
Entitlement + feature flag on live tenant ✅ Proven
Operator API contract (config/test/bootstrap) ✅ Proven (no live Dapodik host)
Sync log listing ✅ Fixed (_dap_search_count — BE c4972ae)

GAP-04 (public-sector rollout evidence): Closed (pilot topology) on scoladev. Widen rollout after operator configures Dapodik credentials and repeats sync-students/GTK smoke on staging with real or mock Dapodik host.


6. Replay commands

# Auth + feature flag
curl -s -X POST http://127.0.0.1:8074/api/auth/login \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"call","params":{"login":"admin","password":"admin"}}' \
  | jq '.result.feature_flags.scola_dapodik'

# Test connection (expect no-config error on fresh pilot)
curl -s -X POST http://127.0.0.1:8074/api/dapodik/test-connection \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","method":"call","params":{}}'

# Disposable DB full replay (local CI path)
cd scola-fe-v2 && scripts/modular/capture_public_sector_evidence.sh dapodik

7. Follow-up (non-blocker)

  1. Staging replay checklist (GAP-04 widen):
  2. [ ] Provision SC-DAP SKU on staging tenant
  3. [ ] Configure Dapodik NPSN + token (or mock host)
  4. [ ] Run /api/dapodik/test-connection → expect success or structured error
  5. [ ] Run /api/dapodik/sync-students smoke → verify sync log row created
  6. [ ] Run /api/v1/report-card/dapodik/bootstrapsuccess:true
  7. [ ] Capture evidence in updated SC-DAP-pilot-evidence-*.md
  8. [ ] Sign off in uat-signoff-template.md § public-sector add-ons
  9. GAP-05: SC-BOS pilot evidence — see SC-BOS-pilot-evidence-2026-06-11.md.
  10. GAP-01-R1: shrink ROLE_CAPABILITIES export map (post-launch, requires regression suite).