<a id="ch-12"></a>

## Chapter 12 — Phone numbers are not a fifth field

<!-- open-cyber-academy:lesson-figures:start ch-12 -->
### Lesson map

Lesson 12. Map, example, EX058.

```mermaid
flowchart TD
  C["event-calendar tuple"] --> A["Age note only"]
  P["Phone-number discovery"] --> S["Prose: moved, then deleted"]
  S --> Q{"Does that edit the tuple?"}
  A --> Q
  Q -->|No| K["1606 and in-use stay"]
```

The discovery changes priority in the write-up. It does not change the row.

### Logical drawing

```text
event-calendar tuple stays:
  1.4.1, fixed None, last release 2022-05-09, in use True
printed note stays:
  UNMAINTAINED (1606 days since release)
phone numbers printed: none
```
<!-- open-cyber-academy:lesson-figures:end ch-12 -->

### Learning outcomes

After this chapter, you should be able to:

1. Keep the calendar tuple identical after the discovery.
2. Place the phone-number move in prose.
3. Refuse a digit, a count, or a new flag on that line.

### 12.1 The fifth field stays true. The phones never become a column.

event-calendar's tuple is `("event-calendar", "1.4.1", None, date(2022, 5, 9), True)`. The discovery that it stored volunteers' phone numbers for shift sign-ups is told later. Those numbers were moved to the charity's existing volunteer system and deleted from the website. The volunteer system is not named. No telephone number is written in the book. No count of volunteers is written.

`True` still means the calendar is in use at the time of this export. The move does not flip that Boolean, does not fill in a fixed version, and does not change 1606. A reader who adds `PHONES` to the note list is editing a file the lab did not edit. Higher harm moved the replacement earlier in the month's plan. A plan is not a second execution of the loop.

The three administrator accounts from the opening week are also absent here. This tuple does not store an owner. The volunteer who installed plugins years ago is unnamed and is not a field. Landis and Koch (1977) define kappa for more than one coder. One person reading this row does not produce a kappa. The agreement statistic stays undefined.

| After the discovery | Changes the tuple? |
|---|---|
| Replacement moved earlier in the plan | no |
| Numbers moved to the volunteer system | no |
| Numbers deleted from the website | no |
| Printed note | still the 1606-day line only |

### 12.2 Worked example

| Added text | Stored in the tuple? | Decision |
|---|---|---|
| UNMAINTAINED and 1606 | yes, from the age test | Keep |
| `in_use` remains true | the fifth field | Keep |
| A phone number or a count of volunteers | no such value | Refuse |
| "The row now says the phones were deleted." | The deletion is prose | Refuse |

> **Synthetic case.** The calendar row is still one component line.

### Errors and limits

Do not write a telephone number into a lesson that never recorded one.

### Apply

- **EX058 — Unchanged tuple.** After the phone-number discovery, a classmate changes the calendar line to say the phones were deleted and flips `in_use` to false. What does the tuple still contain? *Rubric:* 3 = version `1.4.1`, fixed `None`, last release 2022-05-09, `in_use` true, and the 1606-day note; the move and the deletion stay prose; no phone number is printed;; 2 = the printed line stays the age note and the Boolean stays true;; 1 = one field;; 0 = none.

<!-- open-cyber-academy:chapter-navigation:start ch-12 -->
### Continue studying — lesson 12 (chapter 12 of 20)

[← Chapter 11](#ch-11) · [Course chapter index](../SUBJECTS.md) · [Chapter 13 →](#ch-13)

Continue to the next authored lesson.
<!-- open-cyber-academy:chapter-navigation:end -->

## Worked answers

<a id="answer-ex058"></a>
**EX058.** The tuple stays `1.4.1`, fixed `None`, last release 9 May 2022, and in use. The printed note stays 1606 days. The phone-number move and deletion stay prose. No number is printed.
