Skip to content

Remove client code for APIs the product never calls - #6

Merged
kutsibalci merged 2 commits into
mainfrom
faz-5b/kullanilmayan-apiler
Oct 22, 2026
Merged

kutsibalci merged 2 commits into
mainfrom
faz-5b/kullanilmayan-apiler

Conversation

@kutsibalci

Copy link
Copy Markdown
Owner

Stacked on #5. Merge order: #1 → #2 → #3 → #4 → #5 → this.

The README already said HeatShield deliberately does not call SIM/Device Swap, the KYC family or Number Verification. This PR makes the code say the same thing.

Removed

  • NacClient: 17 methods and their path-table entries (number recycling, call forwarding, KYC tenure, age and match, number verification, SIM swap, device swap, consent, roaming, reachability and roaming subscriptions), plus the unused congestion_subs path.
  • Fixture backend: the matching responses, their helpers, and 15 profile fields nothing reads any more.
  • Simulator: the matching routes and the passthrough bearer check.
  • tools/verify_live.py:
    • It now probes exactly the six product APIs.
    • The broken portfolio-era table patcher is gone; it looked for heatshield/heatshield/ and a master table not in the repo.
    • The OAuth fetch is gone too.
    • The default probe number is the documented sandbox +99999000001000.

Kept on purpose

  • evidence/ is untouched. The 9 Sep 2026 probe can be re-run exactly from tag v0.1-hackathon. The README and docs/api-availability.md now say so, and call the removed APIs' results in the evidence file historical.
  • The shared portfolio template (_ortak/_template/nac_client) lives outside this repository and is not touched.
  • Geofence and QoD get/delete/list. They are part of the product APIs' lifecycle; the probe uses them to clean up.

Also fixed

  • Test numbers moved from real Turkish mobile format to the non-assignable +99999… range, as the README promises.
  • docs/api-availability.md: the QoD path is v1, not v0.
  • The qod_create example in DEVELOPER-GUIDE now matches the real signature.
  • .env.example drops the OAuth block, since nothing reads it now.

Verification

  • 197 tests pass. Three tests of the removed APIs were deleted.
    • The simulator round-trip test now covers the six product APIs over HTTP.
    • New tests/test_verify_live.py runs the probe logic offline against fixtures. It never calls main(), so it never reads .env.
  • The full JSON of all six demo scenarios (7 MB) is byte-identical to before. The public demo behaves the same.

After merge to main (Render auto-deploys)

On heatshield-demo.onrender.com/demo, check Hot day, Collapse, No breach and Planner guard.

🤖 Generated with Claude Code

kutsibalci and others added 2 commits September 27, 2026 15:13
The README already said HeatShield deliberately does not call SIM/Device
Swap, the KYC family or Number Verification, yet the client still carried
them as portfolio-era leftovers. Removed:

- NacClient: 17 methods (number recycling, call forwarding x2, KYC tenure,
  age and match, number verification, SIM swap x2, device swap x2,
  consent, roaming, reachability and roaming subscriptions) and their
  path-table entries, plus the unused congestion_subs path.
- FixtureBackend: the matching responses, their helpers and 15 profile
  fields no remaining API reads.
- Simulator: the matching routes and the passthrough bearer check.
- tests: the three tests of removed APIs. The simulator round-trip test now
  exercises the six product APIs over HTTP. Test numbers moved from real
  Turkish mobile format to the non-assignable +99999 range the README
  promises.

tools/verify_live.py now probes exactly the six APIs:
- The broken portfolio table patcher is gone; it looked for heatshield/
  inside heatshield/ and for a master table not in the repo.
- So is the OAuth fetch, since no Bearer path remains.
- It loads .env through tools/_common and defaults to the documented
  +99999000001000 sandbox number.
- tests/test_verify_live.py runs its probes, cleanup and report offline
  against the fixture backend. It never calls main(), so it never reads
  .env and makes no network calls.

evidence/ is untouched. The 9 Sep 2026 probe can be re-run exactly from
tag v0.1-hackathon. The full six-scenario demo JSON is byte-identical;
197 tests pass.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…list"

- README and docs/api-availability.md explain that the 9 Sep 2026 probe ran
  with verify_live.py at tag v0.1-hackathon, which also probed APIs since
  removed, so those results in evidence/ are historical and reproducible
  from the tag.
- README keeps "Top 10 finalist" and drops "Results pending".
- docs/api-availability.md: the QoD path is v1, as in the code and the
  probe, not v0.
- DEVELOPER-GUIDE: the qod_create example now matches the real signature.
- .env.example: the OAuth block is removed, since nothing reads those
  variables now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kutsibalci
kutsibalci changed the base branch from faz-5/duzen-ve-ceviri to main October 22, 2026 21:49
@kutsibalci
kutsibalci merged commit 9e6711d into main Oct 22, 2026
3 checks passed
@kutsibalci
kutsibalci deleted the faz-5b/kullanilmayan-apiler branch October 22, 2026 22:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant