1 पॉइंट द्वारा GN⁺ 2025-06-29 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • UK पासपोर्ट आवेदन प्रक्रिया को नौकरशाही दस्तावेज़-इकट्ठा करने वाली पहेली मानते हुए, राष्ट्रीयता साबित करने के लिए ज़रूरी दस्तावेज़ों के संयोजन को Haskell logic search से निकालने का मामला
  • HMPO की दस्तावेज़ मांगें आवेदक, माता-पिता और दादा-दादी/नाना-नानी के जन्मस्थान व जन्मतिथि, माता-पिता की राष्ट्रीयता व settled status, और वैवाहिक स्थिति के आधार पर family tree की दिशा में recursive हो सकती हैं
  • विदेश में जन्मे बच्चे के पहले पासपोर्ट आवेदन में परदादा के birth certificate और marriage certificate तक मांगे गए, और recursion तभी रुका जब 1983 से पहले UK में जन्म जैसे base case तक पहुंचा
  • implementation ने Prolog के बजाय Haskell के LogicT और StateT Claims IO से संभावित राष्ट्रीयता proof Proof enumerate किए, और हर path के लिए ज़रूरी Set Document निकाला
  • एक ही आवेदन के लिए कई proof paths संभव हैं; सरल path मौजूद होने पर भी वास्तविक request लंबी हो सकती है, और automation दस्तावेज़ तैयार करने व request की वजह समझने में मदद कर सकता है

Passport Application को दस्तावेज़-इकट्ठा करने वाले game की तरह देखना

  • UK का Passport Application HMPO द्वारा चलाया जाने वाला online आवेदन process है, और standard online version की शुरुआती लागत करीब £100 है
  • लक्ष्य अलग-अलग नौकरशाही संस्थाओं में बिखरे original documents इकट्ठा करके “आवेदक British है” इस proposition को साबित करना है
  • अंतिम reward एक छोटी booklet है जिस पर दोबारा आवेदन कर सकने की तारीख लिखी होती है—यानी passport
  • paper-based आवेदन डाक पर निर्भर “hardcore” version जैसा है

वास्तविक आवेदन में जारी रहीं दस्तावेज़ requests

  • मामला बेटी की ओर से online “first child passport born abroad” difficulty चुनकर किए गए आवेदन का है
  • आवेदन को “examiner” process करता है, लेकिन आवेदक chat या phone के advice agent के जरिए ही सवाल पूछ सकता है
    • advice agent की guidance official decision नहीं होती
    • examiner तक सवाल पहुंचाने पर कई दिन, इस मामले में अधिकतम करीब 10 दिन, waiting time बन जाता है
  • शुरुआती document requests में से लगभग 50% के बारे में chat service ने बताया कि वे अनावश्यक हैं, फिर भी बाद में additional document requests जारी रहीं
  • request email में टूटे template जैसा दिखने वाला __APPLICANT_NAME__ शामिल था, और parental responsibility proof की condition भी स्पष्ट नहीं थी
  • अंत में एक दुर्लभ request आई: paternal great-grandfather का birth certificate और marriage certificate
    • “applicant's Paternal great grandfather” दो लोगों में से किसे कहा जा रहा है, यह अस्पष्ट हो सकता है
    • इसे applicant's father's father's father's birth certificate के रूप में interpret किया गया

HMPO logic को recursive proof problem के रूप में समझना

  • HMPO का logic document-based Bureaucratic Logic माना जा सकता है
    • Constructive Logic की तरह सिर्फ logical possibility पर्याप्त नहीं है
    • proof के लिए original documents जैसे “witness” चाहिए
  • law of excluded middle P ∨ ¬P को सीधे इस्तेमाल नहीं किया जा सकता
    • उदाहरण के लिए, “पिता के पिता UK में जन्मे थे या नहीं” में से एक तो सच होगा, ऐसा कहकर दोनों scenarios के documents जमा करने का तरीका स्वीकार्य नहीं है
    • एक alternative चुनकर उसी के अनुरूप documents submit करने होते हैं
  • HMPO guidance के अनुसार 31 दिसंबर 1982 के बाद UK के बाहर जन्मे व्यक्ति आम तौर पर तभी British citizen बनते हैं जब जन्म के समय माता-पिता में से कोई एक “British citizen otherwise than by descent” हो
  • HMPO अपने passport records से ही Britishness साबित नहीं करता, इसलिए कुछ applications में माता-पिता और grandparents की दिशा में recursive document requests पैदा होती हैं
  • recursion ऐसे ancestor पर रुकता है जिसकी Britishness माता-पिता पर निर्भर नहीं होती
    • जैसे: naturalized व्यक्ति
    • जैसे: 1983 से पहले UK में जन्मा व्यक्ति, जो माता-पिता से स्वतंत्र British होने का base case है

इस मामले की request chain

  • HMPO को initial documents मिलने की तारीख 7 जून थी, जिनमें आवेदक का birth certificate और आवेदक के पिता का birth certificate शामिल था
  • 12 जून की request:
    • बताया गया कि आवेदक के पिता का जन्म 1 जनवरी 1983 के बाद हुआ था, इसलिए पिता के British citizenship claim का evidence चाहिए
    • नतीजे में पिता के पिता का birth certificate मांगा गया
  • 26 जून की request:
    • बताया गया कि आवेदक के grandfather का जन्म abroad हुआ था, इसलिए British citizenship claim का evidence चाहिए
    • इसके तहत आवेदक के paternal great-grandfather के documents मांगे गए
    • ज़रूरी documents birth certificate और marriage certificate थे
  • यह recursion email request के रूप में चलता रहा

Haskell implementation structure

  • पूरा code GitHub पर है
  • शुरुआत में rules को Prolog में encode किया गया, फिर Haskell के LogicT monad पर switch किया गया
  • लक्ष्य एक single document list नहीं, बल्कि कई संभावित document sets खोजना है
    • राष्ट्रीयता claim करने के कई तरीके हैं, इसलिए ज़रूरी document sets भी कई हो सकते हैं
    • conceptually Set (Set Document) चाहिए
  • document model में applicant और ancestors, certificate types को type के रूप में express किया गया
    • Parent = Mother | Father
    • Person = Applicant | Parent Parent Person
    • Document = BirthCertificate Person | MarriageCertificate Person Person | NaturalizationCertificate Person | Passport Person
  • सिर्फ simple document list से यह समझना मुश्किल है कि वह पर्याप्त क्यों है, इसलिए समस्या को proof search की तरह handle किया गया
    • LogicT से applicant की Britishness के सभी Proof enumerate किए गए
    • हर Proof के लिए ज़रूरी document set calculate किया गया

Proof और knowledge state

  • proof type तीन forms से बना है
    • ViaParent Person Proof: parent के जरिए Britishness derive होना
    • And Proof Proof: दो claims का combination
    • Evidence Predicate: basic evidence
  • ज़रूरी सवाल runtime पर user से पूछे जाते हैं, और पहले दिए गए answers सभी branches व backtracking में reuse होते हैं
  • इसके लिए IO, State, LogicT को combine किया गया
    • type Claims = Map Predicate Knowledge
    • type M a = LogicT (StateT Claims IO) a
  • Knowledge को SureYes, SureNo, Unsure में बांटा गया है
  • Predicate rules की judgement के लिए ज़रूरी conditions दिखाता है
    • IsBritish Person
    • Settled Person
    • BornBefore Int Person
    • BornInUK Person
    • BornAfter Int Person
    • Naturalized Person
    • Years3LivingInUK Person
    • IsBritOtbd Person
    • Married Person Person

nationality judgement rules का core

  • brit function यह judge करने वाला root function है कि कोई व्यक्ति British है या नहीं
    • पहले IsBritish p check करता है
    • birth-based Britishness और naturalization-based Britishness explore करता है
  • naturalization एक simple path है, और naturalization certificate मुख्य document बनता है
  • UK-born लोगों को broadly दो cases में बांटा गया है
    • 1983 से पहले UK में जन्म हो तो base case के रूप में Britishness मिलती है
    • उसके बाद जन्म हो तो माता-पिता में से कोई एक British था या उस समय settled status में था, यह check होता है
  • UK के बाहर जन्मे case ज्यादा complex हैं
    • check होता है कि parent British otherwise than by descent है या नहीं
    • या parent British है और UK में 3 साल लगातार रहने का evidence है या नहीं
  • “British otherwise than by descent” का मतलब वह व्यक्ति जो केवल parent से Britishness पाने वाला न हो
    • जैसे: naturalization
    • जैसे: UK birth
    • जैसे: abroad birth, लेकिन parent “Crown Service” में काम कर रहा था

parent के जरिए propagation और 2006 की condition

  • viaParent उस case को express करता है जिसमें child को parent के जरिए Britishness मिलती है
  • mother और father दोनों paths explore किए जाते हैं, लेकिन father path पर extra condition लगती है
    • child का जन्म 2006 के बाद हुआ हो तो father path सीधे use किया जा सकता है
    • 2006 से पहले जन्म हो तो check होता है कि जन्म के समय father और mother married थे या नहीं
  • implementation में “registration” जैसे bypassable paths और कुछ sexist historical provisions शामिल नहीं हैं
  • जो law अभी लागू नहीं हैं, वे भी ancestor की Britishness judge करते समय historical रूप से लागू हो सकते हैं

run result और तीन proof paths

  • run (brit Applicant) execution interactive questions के साथ आगे बढ़ता है
    • जैसे: applicant UK-born है या नहीं
    • जैसे: father British otherwise than by descent है या नहीं
    • जैसे: grandparents settled status में थे या नहीं
    • इस case में कुल 37 questions पूछे गए
  • user dk से “पता नहीं” जवाब दे सकता है, तब वह branch explore होती रहती है
  • result बताता है कि applicant के पास 3 Britishness proofs हैं
  • Proof 1:
    • applicant का जन्म 2006 के बाद हुआ
    • father के जरिए Britishness
    • father UK-born है
    • father की mother जन्म के समय settled status में थीं
    • ज़रूरी documents: applicant birth certificate, father birth certificate, father की mother के settled status का document
  • Proof 2:
    • father के father की mother 1983 से पहले UK-born थीं—यह path
    • ज़रूरी documents में applicant, father, grandfather, grandfather की mother के birth certificates और grandparents का marriage certificate शामिल हैं
  • Proof 3:
    • father के father के father, यानी paternal great-grandfather, 1983 से पहले UK-born थे—यह path
    • ज़रूरी documents में applicant, father, grandfather, paternal great-grandfather के birth certificates और दो generations के marriage certificates शामिल हैं
    • HMPO द्वारा मांगा गया Birth certificate for Applicant's Father's Father's Father इसी path में दिखता है

Crown Service और अधिक complex paths

  • इस case में paternal great-grandfather का Crown Service status confusion पैदा कर रहा था, लेकिन execution result के हिसाब से वह status ज़रूरी नहीं था
  • father का British otherwise than by descent status UK birth और grandfather की simple Britishness से पहले ही derive हो गया
  • हालांकि grandfather की simple Britishness फिर भी prove करनी होती है, इसलिए recursion grandfather generation तक नीचे जाता है
  • grandfather की “legitimacy” साबित करने के लिए marriage certificate भी चाहिए
  • HMPO ने तीनों में सबसे लंबा और complex path, Proof 3, चुना
    • Proof 1 एक simple path है जिसमें सिर्फ एक ancestor का settled status prove करना है
    • non-British settled ancestor के जरिए citizenship non-recursive होती है, इसलिए simpler हो सकती है
    • हालांकि किसी specific time पर settled status prove करना अपने आप में मुश्किल हो सकता है

implementation limits और automation पर judgement

  • orElse में first branch सफल होने पर second branch explore नहीं होती, लेकिन <|> दोनों branches explore करता है
  • कुछ rules में <|> इस्तेमाल करने से अधिक citizenship proof paths मिलते हैं, लेकिन HMPO कभी-कभी पहले किसी specific path को exhaust करना चाहता है ऐसा लगता है
  • implementation किसी specific point in time की conditions को पर्याप्त precision से track नहीं करता
    • जैसे: marriage status या settled status किसी specific व्यक्ति के जन्म के समय होना चाहिए
    • इसे जोड़ना बहुत कठिन नहीं माना गया
  • यह पूरे UK nationality law का implementation नहीं है; सिर्फ इस case से जुड़े या interesting parts encode किए गए हैं
    • full implementation में कहीं ज्यादा code और कई exceptions चाहिए होंगी
  • ऐसा software होता तो सही document set जल्दी तैयार करने और request जटिल क्यों हुई, यह समझने में उपयोगी हो सकता था
  • full automation में risk भी हैं
    • program false positive दे तो “computer ने कहा था कि हो जाएगा” जैसी शिकायत आ सकती है
    • human expertise को replace करने वाली automation “computer ने मना किया” के आधार पर citizenship denied होने की स्थिति बना सकती है
  • current application अभी खत्म नहीं हुई है, और plan है कि Proof 2 और Proof 3 को साथ-साथ आगे बढ़ाया जाए; असफल होने पर Proof 1 try किया जाएगा

1 टिप्पणियां

 
GN⁺ 2025-06-29
Hacker News की राय
  • पिछले 10 वर्षों में मैंने कई बड़े UK government systems पर काम किया है, और यह लेख अच्छी तरह दिखाता है कि government services/software बनाते समय अजीब नतीजे क्यों निकलते हैं
    Government software मूल रूप से सैकड़ों वर्षों के parliamentary laws को code में बदलने का काम है। अगर HMPO passport system बना दिया गया और जिस कानून पर वह आधारित है वह बदल जाए या रद्द हो जाए, तो किसी को सभी systems में जाकर उस कानून से प्रभावित हिस्सों को ढूंढकर ठीक करना पड़ता है
    इसके ऊपर, सरकार अक्सर महंगी consulting firms को outsource करती है, और firms के पास contracts बढ़ाने, client से अधिकतम value निकालने और अपनी जगह मजबूत करने की प्रेरणा होती है। Quality और flexibility में असमान systems बनते हैं, इसलिए कानून बदलते ही वही प्रक्रिया दोहराई जाती है
    पहले Spend Controls जैसी central decision-making authority थी, लेकिन अब इस समस्या को coordinate करने वाला कोई केंद्र नहीं है, और इसी वजह से government services deliver करने की लागत इतनी महंगी हो जाती है

    • मुझे हैरानी है कि contract के हिसाब से subcontractors पर चलने वाला system बनाने की बाध्यता क्यों नहीं दिखती
      असल में वे चलने के करीब की कोई चीज बनाते हैं, और जिस deliverable को एक junior developer शायद 3 महीनों में बना दे, उसके लिए लगभग 1000 गुना ज्यादा bill करते हैं, लेकिन ऐसा लगता है कि उन्हें पैसे ऐसे मिलते हैं जैसे system सच में काम कर रहा हो
    • हाल ही में मैंने France में passport renew किया; वहां एक अपेक्षाकृत नया platform था जहां जरूरी सभी documents के लिए apply किया जा सकता था, और बस एक online form भरना था
      Form follow करना आसान था, फिर प्रक्रिया पूरी करने के लिए एक बार office जाना पड़ा, जिसमें सिर्फ 10 मिनट लगे, और passport deliver हो गया। मुझे लगा यह प्रक्रिया जितनी कम तकलीफदेह हो सकती थी, उतनी थी
      UK की स्थिति चाहे जैसी हो, यह निराशाजनक नहीं है। सरकार को actual employees hire करने से डरना नहीं चाहिए और development को पूरी तरह in-house करना चाहिए
    • मुझे लगता है reusable open-source rules system में मौका हो सकता है। हर level की government ऐसा system इस्तेमाल कर सकती है जिसमें rules को expressive तरीके से define और version control किया जा सके
      जैसा बताया गया, technical work पूरी तरह outsourced है, इसलिए ऐसे काफी revolutionary redesign की कल्पना और execution करने की organizational internal capability की कमी भी gap का हिस्सा लगती है
      यह बहुत frustrate करने वाला है कि सरकार IT projects पर contractors की fees में करोड़ों खर्च करती है, फिर भी लंबे समय में सस्ते पड़ सकने वाले in-house engineers को market rate नहीं दे पाती
    • यह समस्या कि कानून मूल रूप से लगातार amendments जुड़ते रहने वाला append-only repository बन जाता है, सिर्फ UK की नहीं है
      अच्छा होगा अगर ऐसा system हो जिसमें जगह-जगह exception conditions बिखेरने के बजाय append-only तरीके से सिर्फ “patches” apply करने पड़ें
      कुछ logic programming languages यह कुछ हद तक कर सकती हैं, लेकिन असली समस्या शायद यह है कि technical debt budget नहीं है, और कानून संभालने वाले lawyers भी complexity से फायदा उठा सकते हैं। काश ऐसे लोग हों जिनका काम ही laws को यथासंभव simple बनाए रखना हो
    • Outsourcing कभी किसी के लिए सच में सफल हुई है क्या? मैंने शायद ही कभी सुना हो कि government ने कोई चीज outsource की और वह सफल रही हो
  • Haskell syntax दिलचस्प है। कोई समझा दे तो intuitive लगता है, लेकिन समझाने से पहले उतना intuitive नहीं होता
    मुझे नहीं लगता कि यह सिर्फ इसलिए है कि मैं Algol-family languages (C, Python आदि) से परिचित हूं। अब तक मैंने जो Haskell code देखा है उसमें code को concise बनाने के लिए बहुत ज्यादा operators हैं, और सिर्फ देखकर साफ नहीं होता कि वे क्या कर रहे हैं: https://academy.fpblock.com/haskell/tutorial/operators/

    • मैंने पहले मोटे तौर पर गिना था, और lens या domain-specific libraries से बचने वाले “typical” Haskell code में मिलने वाले operators की संख्या JavaScript में मिलने वाले operators से काफी मिलती-जुलती थी
      यह काफी पहले की बात है, इसलिए दोबारा नहीं करना चाहता, लेकिन JavaScript के पक्ष में उदार अनुमान लगाएं तो भी practical Haskell के लिए जरूरी operators practical JavaScript के 10 गुना नहीं, लगभग 2 गुना हैं
      Haskell में शुरुआत में सहनी पड़ने वाली incidental complexity है, लेकिन यह popular beginner languages से kind में अलग नहीं, बल्कि degree में अलग है। Algol-style languages के बारे में हमने कितना कुछ सीखा है, यह इतना internalize हो चुका है कि भूलना आसान है
      मैंने programming में नए middle/high school students को Java और Python पढ़ाया है, और खासकर 1:1 में वे अक्सर उन चीजों पर अटकते थे जिनके लिए मुझे समझाना पड़ेगा, यह बात भी मैं भूल चुका था। जैसे Python में : की position गलत रखना या यह न समझना कि = कैसे काम करता है
      : और = जैसी “basic” syntax भी हमारी सोच से कहीं ज्यादा complex है। यह वैसा है जैसे native English speaker “big red ball” और “red big ball” में adjective order rules को consciously notice नहीं करता, लेकिन learner के लिए वही दीवार बनकर सामने आता है
    • उस link के ज्यादातर operators बहुत standard हैं, और Haskell पर बात करते समय वे सबसे कम interesting हिस्सों में आते हैं
      Programming न जानते हुए अगर कोई arbitrary Java program उठा लें, तो वह भी लगभग समझ में नहीं आएगा। Math class बिल्कुल न लिए बिना formula पढ़ने की कोशिश करें, तो operators हों या कुछ और, कुछ समझ में नहीं आएगा
      معيار यह होना चाहिए कि basics सीखने और कुछ tutorials करने के बाद कितना समझ सकते हैं
    • “समझाने के बाद intuitive, लेकिन समझाने से पहले नहीं” — यह तो intuitive होने के अर्थ के काफी करीब नहीं है क्या?
      Intuitive का मतलब आम तौर पर बिना prior knowledge या explanation के भी आसानी से समझना या सीख पाना होता है
    • लगता है Larry Wall ने Perl के बारे में कुछ ऐसी ही बात कही थी। कुछ चीजें सीखने के बाद ही intuitive हो सकती हैं
      शिकायत जिस चीज से है, वह वास्तव में syntax भी नहीं लगती। Haskell के कुछ components monads या lenses जैसे specific models को refer करते हैं, और अगर reader के पास वह knowledge पहले से नहीं है, तो कोई भी syntax वह knowledge उसके दिमाग में नहीं डाल सकती
  • यह लेख अच्छा लगा। शुरुआत में यह parody जैसा शुरू हुआ, फिर धीरे-धीरे उस “game” के लिए एक गंभीर और elegant solution में बदल गया
    अंत तक आते-आते मेरा भी खुद try करने का मन होने लगा

    • खेलना संभव लगता है, लेकिन बाद वाला हिस्सा पार करना कहीं ज्यादा कठिन होगा
  • UK पासपोर्ट आवेदन, जरूरी दस्तावेज़ HMPO को डाक से भेजने के अलावा, पूरी तरह online पूरा किया जा सकता है
    गोद लेने, naturalisation या वंश के आधार पर “नए” नागरिक बने लोगों के लिए भी, UK के बाहर से सिर्फ mobile device पर, अलग app download किए बिना फोटो खींचने समेत नए पासपोर्ट के लिए आवेदन किया जा सकता है
    मज़ाक में कागज़ और पेन से “hard mode” खेला जा सकता है, लेकिन मेरा अनुभव बहुत efficient, तेज़ और सरल था

    • पिछले साल मैंने UK online passport renewal system इस्तेमाल किया था, और बहुत लंबे समय बाद इस्तेमाल की गई websites में वह सबसे अच्छी थी। सच में ताज़गी भरा अनुभव था
      पुराने computer और “प्राचीन” browser पर भी बिल्कुल ठीक काम किया, और रंग, text, buttons, input fields, requirements—सब कुछ सरल, accessible और स्पष्ट था। step-by-step navigation भी सरल था और वाकई मददगार था
      अफसोस है कि ज़्यादा कंपनियाँ ग्राहकों की इतनी परवाह करके ऐसे well-designed websites में निवेश नहीं करतीं। HMPO ने अच्छा काम किया
    • हाल ही में मैंने online system से पहली बार renewal किया, और पूरी प्रक्रिया असाधारण रूप से तेज़ थी। California से आवेदन किया था और 2 हफ्ते से भी कम में पासपोर्ट वापस मिल गया
      तुलना के लिए, California से Canada passport renew करते समय 3 साल में damage हुआ passport था और 4 महीने लगे थे। वह पूरी तरह paper-based था और referrer व photographer की मुहर लगी photo जैसी बेतुकी शर्तें थीं
      मुझे पता है कि digital pilot चल रहा है, इसे जितनी जल्दी हो सके पूरी तरह लागू करना चाहिए
    • लगता है इसे असलियत से कहीं ज़्यादा सरल दिखाकर कहा गया है। renewal process काफ़ी सफलतापूर्वक streamline हुआ है, यह मानता हूँ, लेकिन कुछ साल पहले दोस्त के पहले passport application में मदद करने के अनुभव से कहूँ तो प्रक्रिया लंबी और थकाऊ थी
      face-to-face interview चाहिए होता है, और ऐसे responsible person के signature भी चाहिए होते हैं जिन तक बहुत लोगों की पहुँच नहीं होती। उदाहरण के लिए doctor मान्य नहीं है
  • Japan में यह प्रक्रिया करने वालों के लिए, मुझे ये दस्तावेज़ जमा करने पड़े थे। हालात के हिसाब से अलग होगा, और खासकर लेखक भी शायद UK के बाहर पैदा हुए लगते हैं, इसलिए उन्हें अलग या ज़्यादा दस्तावेज़ चाहिए रहे होंगे
    मैंने UK General Register Office से order की गई birth certificate की certified copy, Japan family register का original और translation, birth registration acceptance certificate का original और translation, marriage certificate का original और translation, बच्चे के Japan passport के सभी pages की colour copies, और यह confirm करने वाले US या UK citizen के passport की copy जमा की कि बच्चा मेरा ही है
    प्रक्रिया काफ़ी अस्पष्ट है, और मोटे तौर पर ऐसा लगता है कि officer संतुष्ट होने तक documents जमा कराते रहने की संरचना है

    • इस मामले में, सचमुच applicant's father, यानी मैं, UK में पैदा हुआ था, लेकिन applicant's father's father UK में पैदा नहीं हुए थे, और यही अतिरिक्त जटिलता की वजह बना
    • दिलचस्प है। माता-पिता के birth certificates नहीं माँगे गए?
      मैं British हूँ, पत्नी Hungarian है और हम Hungary में रहते हैं; हमसे दोनों parents के birth certificates और चारों grandparents के birth certificates माँगे गए
      पत्नी अपने पिता के संपर्क में नहीं है, इसलिए स्थिति समझाने वाला cover letter देना पड़ा, और वह स्वीकार कर लिया गया। हालांकि मेरे बेटे की British nationality तो वैसे भी मेरी British nationality से आती है, इसलिए पत्नी की nationality और उसके parents की nationality क्यों relevant हैं, यह मुझे ठीक से समझ नहीं आता
      किसी और के passport की copy की जरूरत नहीं पड़ी, लेकिन एक family friend को online confirm करना पड़ा। वह family friend UK का solicitor था, इसलिए approved professions की सूची में था
    • बच्चे के Japan passport के सभी pages की colour copies, आखिर क्यों चाहिए होंगी?
  • US में पैदा हुई बेटी की वजह से मुझे MN1 application करना पड़ा। वजह यह थी कि मैं और मेरा spouse दोनों overseas-born हैं
    मूल पोस्ट जैसे इशारा करती है, यह “registration” नाम की एक तरह की side quest है, और बच्चे के 18 साल का होने से पहले न किया जाए तो deadline निकल जाती है। बेशक मुझे पता है कि ऐसी स्थिति में भी citizenship पाने के रास्ते अभी मौजूद हैं
    प्रक्रिया का सबसे कठिन हिस्सा, जिसे इस version के Passport Application में cover नहीं किया गया था लेकिन शायद future DLC pack में आए, मेरे evidence documents को certify करने वाला व्यक्ति ढूँढना था। original जमा करने को कहा जाता है, लेकिन वे passport समेत documents 3–6 महीने तक रखते हैं, इसलिए overseas residents के लिए यह अव्यावहारिक है
    exact rules याद नहीं हैं, लेकिन US notary या आम lawyer certification process इस्तेमाल नहीं कर सकते थे, और अंत में borough office जाना पड़ा
    करीब पाँच borough offices को फोन किया, सभी ने कहा कि उन्हें process या requirements नहीं पता; आखिरकार Islington Council में एक बेहद helpful व्यक्ति मिला। फिर भी UK government के साथ मेरे interactions में यह अधिक frustrating वालों में था

  • मैंने भी proxy के तौर पर Passport Application game का आनंद लिया है
    मूल पोस्ट ने जिस दिलचस्प rule का ज़िक्र नहीं किया, उनमें से एक variable history rule है। किसी document में दर्ज facts थोड़े समय में भी बदल सकते हैं, इसलिए examiner के fact record system में पहले से scan हो चुका document बाद में फिर scan करने के लिए वापस भेजना पड़ सकता है
    लोग कहते हैं कि documents के facts बदले नहीं हैं, यह verify करना examiner जाति द्वारा multiverse के अस्तित्व को implicit रूप से मान लेने जैसा है
    “NPC” phone advisors और examiners के बीच communication channel प्रार्थना जैसा लगता है, और वास्तव में आपको जो मिलता है वह अस्पष्ट inference ही होता है
    वैसे मूल लेखक शायद Mornington Crescent का शौकीन हो सकता है। यह पहले बताए Passport Application और rule topology में मिलता-जुलता game है

    • UK system में नाम fluid होते हैं, और अलग declaration के बिना मनमर्जी बदल सकते हैं। इसलिए मेरी mother मेरे birth registration में अपनी mother की तीसरी married surname से मेरा नाम दर्ज करा सकीं
      birth certificate भी एक मायने में immutable है, लेकिन उसमें लिखी हर चीज़ पूरी तरह immutable नहीं होती
      ऊपर से passport office मेरे previous passport से जुड़े उस decision को भूल गया था जिसमें इस surname mismatch को explain करके आगे बढ़ा दिया गया था। यहाँ तक कि एक passport में मैं मेरी mother के passport के एक page पर दर्ज था
      NPCs सच में गुस्सा दिलाते हैं। हर phone call और email पर जवाब अलग होता था। किसी घटिया large language model जैसा
      application के बाद mother को समझाना पड़ा कि applications के उसी bundle में एक बेटी को अतिरिक्त British documents चाहिए हैं, लेकिन दूसरी बेटी को नहीं और उसका passport जारी हो गया है। सिर्फ इसलिए कि एक UK में पैदा हुई थी और दूसरी नहीं
      mother स्वाभाविक रूप से फट पड़ीं, उन्होंने MP के सामने मामला उठाया, और एक दिन में हल हो गया
  • अपनी बेटियों में से एक के लिए मैं अभी-अभी यह नरक जैसी प्रक्रिया झेलकर आया हूँ। बेटी Japan में पैदा हुई थी, और मेरे birth certificate पर लिखे नाम से mother का surname match कराने में बहुत जूझना पड़ा
    संक्षेप में, मैंने साबित कर दिया कि मैं England में पैदा हुआ और मेरे पास citizenship, यानी passport है, तो किसी भी संभावना से देखें तो वह status बेटी को pass हो सकने वाला होना चाहिए था। यह required documents guidelines से मेल नहीं खाता, लेकिन मुझे यह कहीं कम दर्दनाक तरीका लगता है

  • “बेस केस क्या है? बेस केस वह पूर्वज है जिसकी British status माता-पिता पर निर्भर नहीं करती, जैसे कोई naturalized व्यक्ति या 1983 से पहले UK में जन्मा व्यक्ति। 1983 से भविष्य की ओर जितना दूर जाते हैं, यह call stack उतना ही गहरा होता जाता है” वाला हिस्सा, किसी ऐसे देश से आए व्यक्ति के नज़रिए से पागलपन जैसा लगता है जहाँ नागरिकों और विदेशी निवासियों का central database है और citizenship check SQL table में एक single SELECT जितना होता है

    • कई देशों के पास यह जानने का कोई तरीका नहीं होता कि उनके नागरिक कौन हैं
      विदेश में जन्मे लोग भी अक्सर नागरिक होते हैं, और UK ने नागरिकता को प्रभावित करने वाले territorial changes बेहिसाब झेले हैं
      मौजूदा नागरिकों में कुछ को citizenship इसलिए है क्योंकि वे Bombay, यानी Mumbai में जन्मे थे, और कुछ दूसरे लोगों को इसलिए है क्योंकि वे Hong Kong में जन्मे थे
      नागरिकों की भरोसेमंद सूची बनाए रखने के लिए regular registration चाहिए, और register न करने पर citizenship खोनी पड़नी चाहिए
    • मुझे नहीं लगता कि citizenship check SQL table में single SELECT होने की कोई संभावना है। odds मेरे खिलाफ बेहद खराब हों तब भी मैं इस पर शर्त लगाने को तैयार हूँ
  • कुछ साल पहले मैंने यह game खेला था
    UK में British पिता से जन्म होने के बावजूद, मेरा character पहले British नहीं था। वजह यह थी कि माता-पिता की शादी नहीं हुई थी, और जन्म 1983 के बाद लेकिन 2006 के rule change से पहले हुआ था
    exact समय पक्का नहीं है, लेकिन लगता है 2010s में किसी समय 2006 update को retrospective तौर पर लागू किया गया और मेरा character भी playable हो गया। मैंने side quests ज़्यादा नहीं किए; मुख्य काम पिता का birth certificate ढूँढना था
    मेरे character को भी endgame ceremony में शामिल होकर Queen के प्रति allegiance की शपथ लेनी पड़ी, जो इस देश में जन्मे और पूरी ज़िंदगी यहीं रहे व्यक्ति के लिए अजीब लगा

    • फिर भी bonus ending credits तो मिल ही गए!