docs: holidays are expected, not ordinary; store the Original Schedule; add the research label #207

Merged
gabogg merged 2 commits from docs/holiday-statistics-glossary into master 2026-10-02 15:59:46 +00:00
Owner

Summary

Records the domain decisions from the 2026-10-02 triage of #186 and #202 (milestone "Historical passenger-flow backfill"), and documents the new research issue label requested the same day.

  • Holiday is "expected, but not ordinary" (CONTEXT.md). A holiday counts in every total and trend and may be compared with the Usual Weekday Baseline, but it never defines an ordinary day. It adds an Avoid list: skewed, anomalous, outlier ("outlier" belongs to sensor faults). This answers #202's question: the design already treats holidays as expected traffic.
  • New term: Original Schedule (CONTEXT.md). The schedule a business day was first fixed with: when it starts, or, for an imported day, when its reviewed draft is approved. Corrections never change it. Calibration follows it, and statistics follow the corrected record.
  • ADR 0008: store the Original Schedule explicitly instead of inferring it from the oldest audit row (#186 item 7). It also records how imported days get theirs:
    • they are drafted on current weekly hours;
    • review confirms regular hours, Holiday or Closed;
    • Holiday hints match by day and month;
    • the Original Schedule is fixed at approval.
  • New research label (docs/agents/triage-labels.md). It marks issues whose outcome is knowledge rather than shipped code: findings, a recommendation and follow-up issues.
    • It describes the kind of work, so it always pairs with a triage role and is independent of priority.
    • A bug investigation that is the first step of a concrete fix stays a fix issue without it.
    • The label already exists on Forgejo and is applied to #208 (the documentation and knowledge-base research) and #199 (single-camera data loss investigation).

Event Annotation and Event Day exist only on #178's branch, so their matching wording ("non-ordinary" instead of "atypical", and the same Avoid list) is added to #178's review rather than here. ADR 0007 is taken by #177's branch, so this one is 0008.

Architectural impact

Docs only: CONTEXT.md, docs/adr/0008-original-schedule-stored-explicitly.md, the docs/README.md index, and docs/agents/triage-labels.md. The schema change ADR 0008 describes is implemented under #186, and by #170/#171 for imported days.

Verification

  • scripts/check_docs.py: 39 Markdown files and 80 HTTP operations checked, no errors.
  • Pre-commit hooks passed, including the full pytest suite.

Checklist

  • Holiday wording and Avoid list.
  • Original Schedule term.
  • ADR 0008, linked from docs/README.md.
  • research label documented in docs/agents/triage-labels.md (created on Forgejo; applied to #208 and #199).
  • Maintainer review of the wording.

Refs #186, #202, #170, #171, #178, #208, #199.

🤖 Generated with Claude Code

## Summary Records the domain decisions from the 2026-10-02 triage of #186 and #202 (milestone "Historical passenger-flow backfill"), and documents the new `research` issue label requested the same day. - **Holiday is "expected, but not ordinary"** (CONTEXT.md). A holiday counts in every total and trend and may be compared with the Usual Weekday Baseline, but it never defines an ordinary day. It adds an _Avoid_ list: skewed, anomalous, outlier ("outlier" belongs to sensor faults). This answers #202's question: the design already treats holidays as expected traffic. - **New term: Original Schedule** (CONTEXT.md). The schedule a business day was first fixed with: when it starts, or, for an imported day, when its reviewed draft is approved. Corrections never change it. Calibration follows it, and statistics follow the corrected record. - **ADR 0008: store the Original Schedule explicitly** instead of inferring it from the oldest audit row (#186 item 7). It also records how imported days get theirs: - they are drafted on current weekly hours; - review confirms regular hours, Holiday or Closed; - Holiday hints match by day and month; - the Original Schedule is fixed at approval. - **New `research` label** (`docs/agents/triage-labels.md`). It marks issues whose outcome is knowledge rather than shipped code: findings, a recommendation and follow-up issues. - It describes the kind of work, so it always pairs with a triage role and is independent of priority. - A bug investigation that is the first step of a concrete fix stays a `fix` issue without it. - The label already exists on Forgejo and is applied to #208 (the documentation and knowledge-base research) and #199 (single-camera data loss investigation). Event Annotation and Event Day exist only on #178's branch, so their matching wording ("non-ordinary" instead of "atypical", and the same _Avoid_ list) is added to #178's review rather than here. ADR 0007 is taken by #177's branch, so this one is 0008. ## Architectural impact Docs only: CONTEXT.md, `docs/adr/0008-original-schedule-stored-explicitly.md`, the `docs/README.md` index, and `docs/agents/triage-labels.md`. The schema change ADR 0008 describes is implemented under #186, and by #170/#171 for imported days. ## Verification - [x] `scripts/check_docs.py`: 39 Markdown files and 80 HTTP operations checked, no errors. - [x] Pre-commit hooks passed, including the full pytest suite. ## Checklist - [x] Holiday wording and _Avoid_ list. - [x] Original Schedule term. - [x] ADR 0008, linked from `docs/README.md`. - [x] `research` label documented in `docs/agents/triage-labels.md` (created on Forgejo; applied to #208 and #199). - [x] Maintainer review of the wording. Refs #186, #202, #170, #171, #178, #208, #199. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
docs(domain): holidays are expected, not ordinary; store the Original Schedule
All checks were successful
CI / lint-and-test (pull_request) Successful in 2m43s
9fd3eb6321
- CONTEXT.md: a Holiday counts in every total and trend and may be
  compared with the Usual Weekday Baseline, but never defines an
  ordinary day. Avoid "skewed", "anomalous" and "outlier".
- CONTEXT.md: new term Original Schedule, the schedule a business day
  was first fixed with (at start, or at approval for an imported day).
  Calibration follows it; statistics follow the corrected record.
- ADR 0008: store the Original Schedule explicitly instead of inferring
  it from the oldest audit row, so the historical importer and any
  future writer cannot break calibration's reference.

Decided in the triage of #186 and #202 (2026-10-02).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
docs(agents): add the research label
All checks were successful
CI / lint-and-test (pull_request) Successful in 2m28s
c1f263ebd4
`research` marks issues whose outcome is knowledge (findings, a
recommendation, follow-up issues) rather than shipped code. It describes
the kind of work, so it pairs with a triage role and is independent of
priority.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gabogg changed title from WIP: docs(domain): holidays are expected, not ordinary; store the Original Schedule to WIP: docs: holidays are expected, not ordinary; store the Original Schedule; add the research label 2026-10-02 15:55:20 +00:00
gabogg changed title from WIP: docs: holidays are expected, not ordinary; store the Original Schedule; add the research label to docs: holidays are expected, not ordinary; store the Original Schedule; add the research label 2026-10-02 15:59:39 +00:00
gabogg merged commit e1c2eb5f9a into master 2026-10-02 15:59:46 +00:00
Sign in to join this conversation.
No reviewers
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gabogg/hikcentral!207
No description provided.