Skip to content

feat(ppc): commit ranker_gici_cluster_override selector mode#102

Open
rsasaki0109 wants to merge 1 commit into
mainfrom
feat/ppc-ranker-gici-cluster-override
Open

feat(ppc): commit ranker_gici_cluster_override selector mode#102
rsasaki0109 wants to merge 1 commit into
mainfrom
feat/ppc-ranker-gici-cluster-override

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

The Phase 43/71 production n/r2 selector mode ranker_gici_cluster_override was referenced by run scripts but never committed to exp_ppc_ctrbpf_fgo.py (absent from argparse choices → invalid-choice error), so the 86.21% OFFICIAL run was not reproducible from committed code. This implements it.

Changes

  • experiments/ppc_gici_override.py (new, pure numpy) — documented rule: when the base ranker picks a high-risk GICI variant (xd_gici_{c4,oa,combo,z,hs}), re-pick within the xd_gici family toward a tight cluster (rms_rank≤12, ≥6 members within 0.5 m, ≤0.8 m from the pick; largest cluster wins, RMS tie-break). pf_bridge excluded.
  • exp_ppc_ctrbpf_fgo.py — add the argparse choice; apply the override after the base ranker pick.
  • tests/test_ppc_gici_override.py — 8 synthetic cases (8/8 pass).
  • docs — mark the replay blocker resolved.

No GPL gici-open code is used — xd_gici_* are precomputed candidate-position labels; the clustering logic is original.

Caveat: exact score replay still needs the regenerated candidate pool (libgnss_diag_phase10/19 + selector_ranker_predictions_v5_nlos.csv, not all checked in); committed thresholds follow plan.md (12 / 6 / 0.8 / 0.5 m) where the original build was under-documented.

🤖 Generated with Claude Code

The Phase 43/71 production n/r2 selector mode `ranker_gici_cluster_override` was
referenced by run scripts but never committed to exp_ppc_ctrbpf_fgo.py (absent
from argparse choices -> invalid-choice error), so the 86.21% OFFICIAL run was
not reproducible from committed code. This implements it.

- experiments/ppc_gici_override.py: pure, numpy-only helper implementing the
  documented rule -- when the base ranker picks a high-risk GICI variant
  (xd_gici_{c4,oa,combo,z,hs}), re-pick within the xd_gici family toward a tight
  cluster (rms_rank<=12, >=6 members within 0.5 m, <=0.8 m from the pick;
  largest cluster wins, RMS tie-break). pf_bridge excluded.
- exp_ppc_ctrbpf_fgo.py: add the argparse choice and apply the override after
  the base ranker pick.
- tests/test_ppc_gici_override.py: 8 synthetic cases for the rule.
- docs: mark the replay blocker resolved.

Caveat: exact score replay still needs the regenerated candidate pool
(libgnss_diag_phase10/19 + selector_ranker_predictions_v5_nlos.csv); committed
thresholds follow plan.md (12 / 6 / 0.8 / 0.5 m) where the original build was
under-documented.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@rsasaki0109 rsasaki0109 force-pushed the feat/ppc-ranker-gici-cluster-override branch 2 times, most recently from 9877c9f to 9cf5e8d Compare June 17, 2026 15:16
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