k-skill/docs/features
Jeffrey (Dongkyu) Kim 1e13cc10e1 Keep PR #19 CI stable without user Python site-packages
The validate job was failing because the KTX helper regression suite imported optional runtime dependencies directly from the module top level. GitHub Actions does not inherit the local user site-packages that made those imports succeed on the workstation, so the test suite died before it could exercise the helper logic.

This change makes the helper import-safe in minimal environments by deferring requests usage, providing lightweight fallbacks for optional Korail/Crypto imports during unit tests, and surfacing an explicit install command when the real runtime dependencies are actually needed. The docs now list pycryptodome alongside korail2, and the regression suite forces PYTHONNOUSERSITE=1 so CI keeps exercising the dependency-light path instead of accidentally relying on a developer machine.

Constraint: PR #19 must keep npm run ci green on GitHub Actions without assuming user-level Python packages
Constraint: The KTX helper still needs the real korail2 and pycryptodome packages for live reservation flows
Rejected: Installing ad-hoc Python packages in the CI workflow | hides the import-safety regression instead of fixing the helper/test contract
Rejected: Removing the Python regression suite from skill-docs coverage | would lose the guard on the train_id reservation flow
Confidence: high
Scope-risk: narrow
Reversibility: clean
Directive: Keep the KTX helper importable under PYTHONNOUSERSITE=1 and document every required runtime package in both the skill and install docs
Tested: PYTHONNOUSERSITE=1 python3 -m unittest discover -s scripts -p test_ktx_booking.py
Tested: node --test scripts/skill-docs.test.js
Tested: npm run ci
Not-tested: GitHub Actions validate rerun after push
2026-03-27 22:51:33 +09:00
..
blue-ribbon-nearby.md Restore advertised landmark routing for Blue Ribbon nearby searches 2026-03-27 19:15:21 +09:00
daiso-product-search.md Keep Daiso online-stock lookups aligned with live product ids 2026-03-27 19:31:24 +09:00
delivery-tracking.md Document the verified public tracking outputs explicitly 2026-03-27 02:44:48 +09:00
hwp.md Clarify HWP markdown verification in the feature guide 2026-03-26 12:34:34 +09:00
kakaotalk-mac.md Document safe macOS KakaoTalk skill usage 2026-03-26 23:12:42 +09:00
kbo-results.md Prepare k-skill for packaged releases and broader skill discovery 2026-03-25 23:57:53 +09:00
ktx-booking.md Keep PR #19 CI stable without user Python site-packages 2026-03-27 22:51:33 +09:00
lotto-results.md Prepare k-skill for packaged releases and broader skill discovery 2026-03-25 23:57:53 +09:00
seoul-subway-arrival.md Prepare k-skill for packaged releases and broader skill discovery 2026-03-25 23:57:53 +09:00
srt-booking.md Prepare k-skill for packaged releases and broader skill discovery 2026-03-25 23:57:53 +09:00
zipcode-search.md Harden postcode lookup guidance for flaky shell/runtime conditions 2026-03-26 23:58:01 +09:00