Lewati ke isi

T6G W13 Stock Opname — Harness Result (Wave PASS)

Item Value
Wave W13 / SC-OPS (library stock-opname surface)
Contract T6G-W13-opname-contract-DRAFT.md (APPROVED via prompt)
Harness custom_addons_scola/gcgscola/scripts/golden/w13_runtime_certify.py
Overlay gt-w13-1.0
Executed (UTC) 2026-08-31
Database disposable scola_t6g_opname_audit_* (template scoladev)
Base URL http://127.0.0.1:8108
Result 11/11 PASS ×2wave PASS (QG-17 bounded)

Sign-off (product owner via Cursor prompt)

Field Value
Authorized by product owner via Cursor prompt
Authorization date 2026-08-31 UTC
Engineering witness agent session

Cases (bounded V1 harness — P1 SC-OPS via library opname)

Case Matrix ID Status Notes
W13-POS-COUNT-FREEZE-POST RT-W13-POS-01 PASS Counter create→start→scan→review; distinct poster done
W13-NEG-VIEWER-SELF-POST RT-W13-NEG-01 PASS Viewer denied; DEC-004 blocks counter self-post
W13-SCP-LOCATION-BOUNDARY RT-W13-SCP-01 PASS Location-scoped lines; wrong-location scan + foreign session denied
W13-STA-INVALID-TRANSITIONS RT-W13-STA-01 PASS Done before freeze and restart on in_progress denied
W13-TEN-CROSS-COMPANY RT-W13-TEN-01 PASS T1 list/lines exclude T2 opname
W13-VAL-INVALID-AND-LATE-EDIT RT-W13-VAL-01 PASS Invalid barcode, duplicate session, post-freeze line edit denied
W13-IDM-DOUBLE-POST RT-W13-IDM-01 PASS Second done rejected; one session per warehouse
W13-REC-CANCEL-RESET-RESUME RT-W13-REC-01 PASS Cancel→reset draft→restart counting on same session
W13-XRP-READER-BOUNDARY RT-W13-XRP-01 PASS Counter reads lines; viewer denied
W13-XMD-ENTITLEMENT-OFF RT-W13-XMD-01 PASS SC-LIB/SC-OPS off → create denied (valuation bridge deferred)
W13-UIA-API-ALIGNMENT RT-W13-UIA-01 PASS Route meta library.circulation.manage + list gate aligned

Evidence (×2)

Run Artifact
1 T6G-W13-evidence/T6G-W13-20260831T133801Z-runtime-matrix.json
2 T6G-W13-evidence/T6G-W13-20260831T133949Z-runtime-matrix.json

Engineering fixes

Fix File Reason
DEC-004 counter≠poster SoD scola_library/models/stock_opname.py scola_last_counter_uid blocks self-post after freeze
One session per warehouse scola_library/models/stock_opname.py Active draft/in_progress/review guard on create/start
Post-freeze line edit guard scola_library/models/stock_opname.py Late edit denied after review/done
Location + company scan scope scola_library/models/stock_opname.py Foreign barcode/location rejected during count
Company-scoped API access scola_library/controllers/library_stockopname_api.py _get_opname denies cross-tenant session/line access
Stock-opname route registry scola_platform_support/api_route_access.py Prefix before /api/v1/library/ catch-all
Full 11-case harness + GT-OVL scripts/golden/w13_runtime_certify.py Disposable DB; counter/poster/viewer personas

Deferred (not claimed)

Item Track
SC-FIN valuation bridge on post Product/finance bridge follow-up
Concurrent counter policy beyond sequential IDM Contract deferred
Full standalone scola_ops inventory surface Library opname remains bounded W13 surface
V1 CERTIFIED / production / QG-18 human pass Out of scope

Phase 4 closure

Final Phase 4 wave complete — harness tally 5/5 (W07, W09, W13, W14, W20).

Next recommendation

Phase 5 — W12 BOS / W19 Dapodik pilot harness prep (contracts signed), then Phase 7 QG-01–18 rollup.