← BackPromise Without a Key
✓ This chapter is saved on your device for offline reading
Chapter 15

One Number, Two Families

The records reconciliation desk was not really a desk at all. It was a room with three monitors, a laser printer, filing cabinets, and a whiteboard filled with arrows between dates.

Mariam arrived at ten in the morning and found Nuru already standing beside the largest screen. Rukia had her notebook open. A man in a grey shirt introduced himself as Hamisi Mtemi, a migration specialist who had helped move records from the old housing system into the new one.

When Mariam heard the name Hamisi, she thought for a second of a neighbor’s late husband who had shared the same name, then reminded herself that in this room every name was only another person. Not a sign.

Hamisi pointed at the monitors.

“Today we are not opening the public portal. The portal is the end of the process. We need to see the process itself.”

“Good,” Mariam said.

Nuru placed two printed rows on the table. Both carried the current code P-0417.

The legacy household identifiers were completely different.

“This is it?” Mariam asked.

“Yes,” Nuru said. “Two rows. One current priority code. Two different households in the legacy system.”

Mariam felt her pulse jump.

“So the duplication was real.”

Hamisi lifted one finger.

“Duplicate code, yes. Duplicate entitlement, we have not said that.”

Mariam sat down.

Hamisi explained how the old system had worked. Priority lived in one table. Payment status lived in another. Household relocation profiles carried long legacy IDs, while printed cards used shorter priority references because staff found them easier to handle. During migration, some prefixes were removed and records were passed through merge rules.

“How did two codes become one?” Mariam asked.

“There are several possibilities,” Hamisi said. “A typing error. Code reuse after a record was closed. A merge rule that kept only a short suffix and lost the distinguishing prefix. Or a manual reassignment entered against the current queue code instead of the canonical household ID.”

“And here?”

“Here we follow timestamps.”

Nuru brought up Mariam’s row.

Legacy household ID: LJ-MD-8841. Old priority card: BM-P-0417. Current priority: P-0417. Payment batch: BM-17. Housing receipt confirmation: Friday afternoon.

Then she showed the second row without exposing the family name.

Different legacy ID. Different full historical reference. Same short suffix on a scanned document where part of the prefix had been cut off. Current system: P-0417.

Mariam asked, “When did that family pay?”

Nuru said, “We cannot give you their amount or private details. What we can tell you is that they were also a verified relocation household and they followed the offer presented to them.”

“Did they receive a unit?”

“Yes.”

The room went quiet.

The image of B-214 appeared in Mariam’s mind, although nobody had said that B-214 belonged to the second family. She recognized the danger at once: her mind was trying to complete the story faster than the records.

“Was it a unit I should have received?”

Hamisi answered, “The correct question is: at the moment their assignment was made, what status did the system show for your priority?”

“Then let us look at that.”

He opened the assignment history.

The first important timestamp came before BM-17 had been linked to Mariam’s canonical household ID. The payment itself was already in the housing finance ledger, but the allocation engine showed PAYMENT NOT LINKED.

Two days later, Mariam’s priority record was marked pending reconciliation.

During that gap, the current code P-0417 was used on the second row, which the system treated as eligible.

Rukia spoke quietly.

“The system saw no payment.”

Mariam turned toward her.

“But the money existed. That is the difference I want corrected.”

Rukia did not argue.

Hamisi opened the batch table.

BM-17 contained fourteen households. Twelve had linked automatically during import.

Two had not.

Mariam’s was one of the exceptions.

“Why?” she asked.

“Legacy household identifier mismatch,” Hamisi said. “The SACCO cover used a relocation reference matching the printed priority card, but the new allocation table expected the canonical household ID. The merge job did not find an exact match.”

“And someone saw the exception?”

Nuru answered.

“There was an exception queue.”

“Was it worked?”

“Later.”

“After the assignment?”

“Yes.”

Mariam slipped a hand into her handbag and touched the tape measure she carried out of habit. She had not used it that day. Still, it steadied her.

If one centimeter disappeared from a trouser measurement, the customer noticed immediately.

Here, an identifier disappeared inside a system and the consequence was a home.

“Who performed the manual reassignment?” she asked.

Rukia said, “The old-phase team. But we have not found evidence that they knew your payment had posted but failed to link.”

“So you are not saying somebody deliberately took my place.”

“No.”

“And I am not saying it either.”

Nuru looked at Mariam.

“That distinction matters.”

Hamisi opened the audit trail for the second household. It showed staff approval, reservation acceptance, and later handover. Nothing in the record suggested bribery. Nothing suggested the family knew the current code had collided with an older household reference.

Mariam asked, “If you conclude that my priority should have remained active, what happens to them?”

Nobody answered immediately.

Nuru said, “That is why the remedy cannot be a simple reverse transaction.”

“I do not want them removed.”

Rukia looked at her. “You do not even know which unit they have.”

“I do not need to. If they followed the process they were shown and received a home in good faith, I do not want Tunu to get a door by making another child leave one.”

Hamisi leaned back.

“Then the remedy question becomes equivalent allocation plus systemic control.”

“What systemic control?”

Nuru wrote on the whiteboard:

FREEZE SAME-FLAG REALLOCATIONS PENDING REVIEW.

Rukia frowned.

“We cannot freeze every allocation. The scope needs to be narrow.”

“The scope is records carrying the same migration and payment-linkage flags,” Nuru said. “Not the entire project.”

“And households that already moved in?” Mariam asked.

“Review without automatic displacement,” Nuru said. “The remedy can differ according to current status.”

Rukia relaxed slightly.

“That is workable.”

They traced the second exception inside BM-17. It did not involve P-0417. That household’s payment had also linked late, but its assignment had not been moved during the gap. The family eventually received a unit.

That mattered.

It proved that a linkage failure did not create the same outcome every time.

The timing of reassignment was the critical point.

Mariam wrote four lines in her notebook:

PAYMENT POSTED ≠ PAYMENT LINKED. PRIORITY CODE ≠ HOUSEHOLD ID. DUPLICATE CURRENT CODE ≠ PROOF OF FRAUD. REASSIGNMENT DURING GAP = REMEDY QUESTION.

Hamisi looked over.

“What are you writing?”

“I am trying not to go home with a story simpler than the facts.”

Nuru smiled faintly.

They spent nearly two hours reconstructing the chronology until Mariam could explain it without raising her voice.

She paid the deposit.

SACCO sent the batch.

Housing received the money.

The payment record entered the finance ledger but remained unlinked to Mariam’s canonical household because of the migration mismatch.

The allocation engine therefore saw a priority record without linked payment.

A manual reassignment later used the current short code, which had also been merged incorrectly.

By the time Mariam’s payment link was repaired, the other assignment had already closed.

“Is that the root cause?” Mariam asked.

“For your case,” Hamisi said, “that is the working finding. Review sign-off still has to be completed.”

“And the second P-0417?”

“A good-faith assigned household. The code collision came from merge and crosswalk behavior. It is not evidence that they received your money.”

Mariam breathed out slowly.

It was a harder answer than They stole my house.

But for the first time it was an answer made of steps.

Nuru began drafting a recommendation to pause unresolved reallocations carrying the same flags.

Rukia said, “Before we expand the remedy, we need to know whether this is rare or widespread.”

Hamisi filtered the relocation export for `LEGACY-MERGE` combined with payment-link exceptions.

More than one row appeared.

Mariam expected three, perhaps four.

Nuru scrolls down. “P-0417 is not alone. We have nine rows carrying this flag.”

---

Reading settings
Line spacing
Theme