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

## Chapter 18 — Two calendars are not lab columns

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

Lesson 18. Map, example, EX064.

```mermaid
flowchart TD
  A["12–16 October 2026 in the authorization sentence"] --> N["A sentence, not a print"]
  W["09:00–17:00 on weekdays"] --> N
  N --> L["Neither script prints a clock"]
```

The dates and the hours are rules in prose. The labs have no time field.

### Logical drawing

```text
authorization sentence
  12–16 October 2026
weekday window
  09:00–17:00
lab columns
  addresses, ids, scores, bands, titles
```
<!-- open-cyber-academy:lesson-figures:end ch-18 -->

### Learning outcomes

After this chapter, you should be able to:

1. Keep the October dates and the weekday hours as two different rules.
2. Say that neither rule is a lab column.
3. Refuse a print that shows a clock the file does not store.

### 18.1 One sentence names five dates. Another sentence names a daily window. The scripts name neither.

The authorization sentence Maya is asked to write names a configuration and policy review of `192.0.2.0/25`, excluding `192.0.2.10`, during 12–16 October 2026, with no live exploitation. A separate rule says testing is allowed from 09:00 to 17:00 on weekdays, and that 20:00 is outside that window until the paper changes. Those are two constraints. The October span says which civil dates were agreed. The clock span says which hours inside a day were agreed. Neither constraint is computed by `ipaddress` or by `sorted`.

A slow staff-portal page is a reason to pause and call the emergency contact. This book does not give that contact a name, a phone number, or a clock time for the pause. Adding any of those would invent a measurement. The scripts print addresses and findings only.

| Rule | What it constrains | Printed by either lab? |
|---|---|---|
| 12–16 October 2026 | The agreed dates | No |
| 09:00–17:00 weekdays | The agreed hours | No |
| Pause if the portal page slows | A stop condition | No |

### 18.2 Worked example

| Offered line | Stored in a script? | Decision |
|---|---|---|
| "Dates and hours stay in the prose rules." | No time field | Keep |
| "The scope print ends with `09:00`." | The fourth line is an address | Refuse |
| "The pause happened at a stated minute." | No minute is recorded | Refuse |

> **Synthetic case.** Two calendars, zero time columns.

### Errors and limits

Do not invent a phone number or a minute for the pause.

### Apply

- **EX064 — Calendars.** What do 12–16 October 2026 and 09:00–17:00 each constrain, and does either lab print them? *Rubric:* 3 = the dates are the agreed span and the hours are the daily window; they are different rules; neither script prints a date or a clock;; 2 = both stay prose and the labs print neither;; 1 = one rule;; 0 = none.

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

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

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

## Worked answers

<a id="answer-ex064"></a>
**EX064.** 12–16 October 2026 is the agreed date span. 09:00–17:00 is the daily window. Neither script prints a date or a clock.
