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

## Chapter 8 — REMOVE is the unused flag

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

Lesson 08. Map, example, EX054.

```mermaid
flowchart TD
  U["Fifth field, in use"] --> F{"Is the Boolean false?"}
  F -->|Yes| R["Append REMOVE"]
  F -->|No| K["No remove note from this test"]
```

The note reads the Boolean. It does not read the release date.

### Logical drawing

```text
photo-gallery  2.0.0  in use = False  age = 103 days
note produced: REMOVE (not in use)
age test for this row: 103 > 730 is false
```
<!-- open-cyber-academy:lesson-figures:end ch-08 -->

### Learning outcomes

After this chapter, you should be able to:

1. Tie the REMOVE note to the fifth field.
2. Show that photo-gallery's age does not produce that note.
3. Refuse a second print that waits for a later confirmation.

### 8.1 False means unused. The age of this row is a different test.

The third `if` is `if not used`. photo-gallery stores `False`. The appended text is exactly `REMOVE (not in use)`. The words do not say vulnerable, abandoned, or advised. The age test for this row is 103 days, and `103 > 730` is false, so the UNMAINTAINED note is not added. A recent unused plugin and an old unused plugin receive the same REMOVE text. Age never enters this branch.

event-calendar is in use, so `not used` is false and REMOVE is not considered, even though its age note is present. newsletter is in use and receives neither note. The Boolean is not a count of pages that embed the gallery, and it is not a record of who was asked.

The later confirmation that nobody needs the gallery is a sentence Owen still has to settle. The tuple already says `False`. Editing the print after that conversation would hide the export the lab actually ran. A gallery stored as `True` would not receive REMOVE, however strongly someone wanted it gone. The flag is the field, not a wish written beside the file.

| Row | `in_use` | Age note? | REMOVE? |
|---|---|---|---|
| photo-gallery | False | no, 103 days | yes |
| event-calendar | True | yes, 1606 days | no |
| newsletter | True | no, 30 days | no |
| donate-form | True | no, 60 days | no |

### 8.2 Worked example

| Claim | Field the script read | Decision |
|---|---|---|
| photo-gallery is REMOVE because it is unused | Fifth field `False` | Keep |
| Its age is not why that word appears | 103 is not greater than 730 | Keep |
| "REMOVE means the plugin is old." | The branch does not read `last` | Refuse |
| "The line appears only after someone confirms it." | The tuple is already `False` | Refuse |

> **Synthetic case.** No person is named as the one who confirmed the gallery.

### Errors and limits

Leave the unused Boolean as it was exported. The confirmation stays prose.

### Apply

- **EX054 — Which test.** photo-gallery prints REMOVE, and its last release is 103 days before the review date. Does that age produce the note, and does a later confirmation that nobody needs the gallery change the line? *Rubric:* 3 = no; REMOVE is `not used`; 103 fails the age test; the confirmation stays prose; the tuple stays False;; 2 = the Boolean produces the note and the line stays;; 1 = one fact;; 0 = none.

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

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

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

## Worked answers

<a id="answer-ex054"></a>
**EX054.** REMOVE comes from `in_use` being false. The age 103 does not pass `> 730`. A later confirmation does not edit the tuple.
