gate 11: register the observations gate, and mark up this repo's observations
gates / gates (push) Successful in 13s
gates / gates (push) Successful in 13s
The shared gate lives in felhom.eu/scripts/observations_gate.py and is invoked across the workspace, exactly as reuse_refs_check.py and instructions_gate.py already are. It is never copied. REPORT.md's observations now carry their markers. Item 1 was the finding that had no register row - only the first broken app per hour reaches the operator - and it is now R-389. Item 4, the golden-bake runbook's missing `pveam update`, is R-390. Items 3 and 5 are declared NOT-A-FINDING with their reasons. The observations' text itself is unchanged; only the markers were added.
This commit is contained in:
@@ -239,7 +239,12 @@ published but **NOT vouched**; floor still **0.222.0**; all apps running; plante
|
|||||||
R-329 and R-386 closed and compressed; **R-387** (closed) and **R-388** (the notification-model
|
R-329 and R-386 closed and compressed; **R-387** (closed) and **R-388** (the notification-model
|
||||||
product decision — open, operator's call) filed.
|
product decision — open, operator's call) filed.
|
||||||
|
|
||||||
## 15. Observations — noticed, documented, NOT acted on
|
## 15. Observations
|
||||||
|
|
||||||
|
> **Each item carries `FILED: R-NNN` or `NOT-A-FINDING: <reason>` (gate 11, added 2026-08-23).**
|
||||||
|
> The markers were added retrospectively on 2026-08-24 when the gate was built: item 1 was the very
|
||||||
|
> finding that had no row, and adding its marker is the first thing the gate ever asked for. The
|
||||||
|
> observations' text is unchanged.
|
||||||
|
|
||||||
1. **The operator cooldown key has no app identifier, and it now bites.** PrivateBin's alarm four
|
1. **The operator cooldown key has no app identifier, and it now bites.** PrivateBin's alarm four
|
||||||
minutes after BookStack's was logged `suppressed — operator cooldown 1h,
|
minutes after BookStack's was logged `suppressed — operator cooldown 1h,
|
||||||
@@ -247,13 +252,20 @@ product decision — open, operator's call) filed.
|
|||||||
R-182's known cooldown-key shape; it was harmless while `app_start_failed` was undeliverable and is
|
R-182's known cooldown-key shape; it was harmless while `app_start_failed` was undeliverable and is
|
||||||
not any more. **Same pattern as R-329 itself: a known-broken thing moved from unreachable to
|
not any more. **Same pattern as R-329 itself: a known-broken thing moved from unreachable to
|
||||||
load-bearing.** Not fixed here.
|
load-bearing.** Not fixed here.
|
||||||
|
FILED: R-389
|
||||||
2. **The settings page grew 12 → 15 toggles in one session** — one new alarm, plus two compound
|
2. **The settings page grew 12 → 15 toggles in one session** — one new alarm, plus two compound
|
||||||
toggles split into four. Recorded as the argument inside R-388.
|
toggles split into four. Recorded as the argument inside R-388.
|
||||||
|
FILED: R-388
|
||||||
3. `internal/notify/notifier.go` carries **pre-existing** gofmt drift in an unrelated const block,
|
3. `internal/notify/notifier.go` carries **pre-existing** gofmt drift in an unrelated const block,
|
||||||
confirmed by stashing this session's work and re-running `gofmt -l`. Not touched (§12).
|
confirmed by stashing this session's work and re-running `gofmt -l`. Not touched (§12).
|
||||||
|
NOT-A-FINDING: cosmetic drift in an unrelated const block, predating this work and touching no
|
||||||
|
behaviour; §12 forbids nearby refactors, so filing a row would only queue a whitespace commit.
|
||||||
4. **The golden-bake runbook still lacks `pveam update`** — second consecutive bake to hit the stale
|
4. **The golden-bake runbook still lacks `pveam update`** — second consecutive bake to hit the stale
|
||||||
index on the `virgin` snapshot, presenting as `400 … no such template`.
|
index on the `virgin` snapshot, presenting as `400 … no such template`.
|
||||||
|
FILED: R-390
|
||||||
5. **Deliberately left open, untouched:** R-102, R-359, R-385, and R-388's redesign.
|
5. **Deliberately left open, untouched:** R-102, R-359, R-385, and R-388's redesign.
|
||||||
|
NOT-A-FINDING: this item is a pointer to rows that already exist, not a new observation; it is
|
||||||
|
here so their absence from this session reads as deliberate rather than forgotten.
|
||||||
|
|
||||||
### CI runs, confirmed by ID
|
### CI runs, confirmed by ID
|
||||||
|
|
||||||
|
|||||||
@@ -47,6 +47,9 @@ REPO = os.path.dirname(CTRL) # <repo> — the root REUSE.md l
|
|||||||
SHARED_REUSE = os.path.join(os.path.dirname(REPO), "felhom.eu", "scripts", "reuse_refs_check.py")
|
SHARED_REUSE = os.path.join(os.path.dirname(REPO), "felhom.eu", "scripts", "reuse_refs_check.py")
|
||||||
SHARED_INSTRUCTIONS = os.path.join(
|
SHARED_INSTRUCTIONS = os.path.join(
|
||||||
os.path.dirname(REPO), "felhom.eu", "scripts", "instructions_gate.py")
|
os.path.dirname(REPO), "felhom.eu", "scripts", "instructions_gate.py")
|
||||||
|
# R-389 — shared, like the two above: it lives in felhom.eu/scripts/ and is never copied.
|
||||||
|
SHARED_OBSERVATIONS = os.path.join(
|
||||||
|
os.path.dirname(REPO), "felhom.eu", "scripts", "observations_gate.py")
|
||||||
|
|
||||||
# (label, absolute script path, args, fast)
|
# (label, absolute script path, args, fast)
|
||||||
GATES = [
|
GATES = [
|
||||||
@@ -61,6 +64,8 @@ GATES = [
|
|||||||
("retrieval-promise", os.path.join(SCRIPTS, "retrieval_promise_gate.py"), [], True),
|
("retrieval-promise", os.path.join(SCRIPTS, "retrieval_promise_gate.py"), [], True),
|
||||||
("reuse-refs", SHARED_REUSE, [REPO], True),
|
("reuse-refs", SHARED_REUSE, [REPO], True),
|
||||||
("instructions", SHARED_INSTRUCTIONS, [REPO], True),
|
("instructions", SHARED_INSTRUCTIONS, [REPO], True),
|
||||||
|
# R-389 — a REPORT.md observation with no register row behind it. Fast: stdlib file reads.
|
||||||
|
("observations", SHARED_OBSERVATIONS, [REPO], True),
|
||||||
]
|
]
|
||||||
|
|
||||||
VERDICT = {0: "OK", 1: "FAILED", 2: "INCONCLUSIVE"}
|
VERDICT = {0: "OK", 1: "FAILED", 2: "INCONCLUSIVE"}
|
||||||
|
|||||||
Reference in New Issue
Block a user