ops: ADR-0009 bounded L-1.5 baseline closure via 7-point spot-check #170

Closed
claude wants to merge 1 commit from claude-orchestrator/phase-01-bounded-closure into main
Collaborator

What

ADR-0009 adopts a bounded 7-point spot-check as the canonical close for L-1.5 baseline sign-off, replacing the routine 21-check recovery/verify-baseline.sh re-run. Full 21-check remains available for deep audit.

Closes (when merged): unblocks BLOCKERS_FOR_OPERATOR.md §1 via the bounded procedure.

Files (4)

File Change Purpose
decisions/0009-bounded-l-1-5-closure.md NEW The ADR itself
scripts/baseline-spot-check.sh NEW (executable) The 7-point check; runs in <30s; structured Markdown report to stdout
state/reports/L-1.5-spot-check-2026-05-11.md NEW Seed report (auto-run during PR creation); 5/7 PASS, 2/7 FAIL with operator-triage analysis
BLOCKERS_FOR_OPERATOR.md EDIT (§1 only) References bounded procedure as canonical close

The 7 checks

  1. Manifest countfind modules -name module.yaml \| wc -l returns 81–120
  2. Schema validationplatformctl validate all exits 0
  3. Baseline replicas — ≥2 of 3 host replicas reachable + sized
  4. Sacred paths definedpolicies/sacred-paths.yaml OR PLATFORM_CHARTER.md reference
  5. Foundational ADR set — ADRs 0001–0005 present
  6. AGENTS.md identity-isolation — Conventions section + Identity-isolation subsection
  7. Sunset queue tracked — ≥1 module with lifecycle: sunset

Reasoning per check is in ADR-0009 §The 7 checks table.

Live findings from seed report (2026-05-11)

The bounded check already caught two real driftsy that the full 21-check would have caught but operator hasn't yet routinely re-run:

  • Check 1 FAIL: 80 manifests on disk vs INDEX.md claim of 81. 3 triage options (A/B/C) documented in seed report.
  • Check 3 FAIL: only 1/3 baseline replicas reachable from M1 via BatchMode SSH. Likely path-different on rs2000/vps1000 OR auth-flaky in BatchMode. 3 triage options documented.

5/7 PASS otherwise. These two findings likely overlap with operator's recalled "znając życie coś było blokerem, nie spełniało one-day-rule i poszedłem dalej" — surfacing drift without forcing full 21-check redo. Per ADR-0009 design intent.

Sign-off procedure (after this PR merges)

cd ~/Developer/iskra-platform-2026-04-30
bash scripts/baseline-spot-check.sh > state/reports/L-1.5-spot-check-$(date -u +%Y-%m-%d).md
# review report (single screen)
# if all 7 green → amend BLOCKERS §1 with:
#   **Closed YYYY-MM-DD via bounded spot-check (ADR-0009, report ...)**

What this PR DOES

  • Defines the bounded 7-point spot-check ADR with reasoning per check.
  • Ships the executable script (bash -n clean, lives test produced output in 0.06s).
  • Seeds a report with auto-run output for operator review.
  • Updates BLOCKERS §1 to reference the bounded procedure as canonical.

What this PR DOES NOT

  • Does NOT itself sign off L-1.5 — operator decides after running the spot-check.
  • Does NOT replace recovery/verify-baseline.sh (retained for deep audit, yearly, incidents).
  • Does NOT auto-fix the 2 surfaced failures (triage requires operator).
  • Does NOT touch any runtime path, sacred path, or module manifest.

Acceptance criteria

  • ADR-0009 has Status: Proposed.
  • Script is executable, bash -n clean, runs in <30s on the actual repo (verified: 5/7 PASS).
  • Seed report is valid Markdown with operator-triage analysis for the 2 failures.
  • BLOCKERS §1 amended (legacy 21-check procedure retained for deep audit).
  • 3+3 canary fires on risk/process (touches decisions/).
  • Operator runs script + makes triage decisions for the 2 failures.

Rollback

git revert 4e2325f
git push origin main

Single commit, 3 net-new files + 1 edit. Reverting is clean.

Refs

  • GPT-5.5 Pro oracle review 2026-05-11 §4 OPEN DECISIONS (L-1.5): "Sign it after a bounded spot-check, not a full re-audit. Operator verification cost should be one focused pass. Do not personally redo 21/21 checks. That defeats the point of the platform."
  • BLOCKERS_FOR_OPERATOR.md §1 (existing blocker; this PR amends).
  • INDEX.md (original L-1.5 spec, 2026-04-30; predates 6 weeks of platform evolution).
  • Companion: PR #168 (governance ADRs) and PR #169 (job bundle foundation).

Codex effort needed

Review + merge. After merge, operator runs the script + makes 2 triage calls. ~30 min of operator attention is the realistic close-out cost (vs. multi-hour for full 21-check re-do).


Role: orchestrator / drafter (claude)
Lane: ops / bounded closure
Next: operator decision on Check 1 + Check 3 triage options → re-run script → sign off.

## What ADR-0009 adopts a **bounded 7-point spot-check** as the canonical close for L-1.5 baseline sign-off, replacing the routine 21-check `recovery/verify-baseline.sh` re-run. Full 21-check remains available for deep audit. Closes (when merged): unblocks `BLOCKERS_FOR_OPERATOR.md` §1 via the bounded procedure. ## Files (4) | File | Change | Purpose | |------|--------|---------| | `decisions/0009-bounded-l-1-5-closure.md` | NEW | The ADR itself | | `scripts/baseline-spot-check.sh` | NEW (executable) | The 7-point check; runs in <30s; structured Markdown report to stdout | | `state/reports/L-1.5-spot-check-2026-05-11.md` | NEW | Seed report (auto-run during PR creation); 5/7 PASS, 2/7 FAIL with operator-triage analysis | | `BLOCKERS_FOR_OPERATOR.md` | EDIT (§1 only) | References bounded procedure as canonical close | ## The 7 checks 1. **Manifest count** — `find modules -name module.yaml \| wc -l` returns 81–120 2. **Schema validation** — `platformctl validate all` exits 0 3. **Baseline replicas** — ≥2 of 3 host replicas reachable + sized 4. **Sacred paths defined** — `policies/sacred-paths.yaml` OR `PLATFORM_CHARTER.md` reference 5. **Foundational ADR set** — ADRs 0001–0005 present 6. **AGENTS.md identity-isolation** — Conventions section + Identity-isolation subsection 7. **Sunset queue tracked** — ≥1 module with `lifecycle: sunset` Reasoning per check is in ADR-0009 §The 7 checks table. ## Live findings from seed report (2026-05-11) The bounded check **already caught two real driftsy** that the full 21-check would have caught but operator hasn't yet routinely re-run: - **Check 1 FAIL**: 80 manifests on disk vs INDEX.md claim of 81. 3 triage options (A/B/C) documented in seed report. - **Check 3 FAIL**: only 1/3 baseline replicas reachable from M1 via BatchMode SSH. Likely path-different on rs2000/vps1000 OR auth-flaky in BatchMode. 3 triage options documented. 5/7 PASS otherwise. These two findings likely overlap with operator's recalled *"znając życie coś było blokerem, nie spełniało one-day-rule i poszedłem dalej"* — surfacing drift without forcing full 21-check redo. Per ADR-0009 design intent. ## Sign-off procedure (after this PR merges) ```bash cd ~/Developer/iskra-platform-2026-04-30 bash scripts/baseline-spot-check.sh > state/reports/L-1.5-spot-check-$(date -u +%Y-%m-%d).md # review report (single screen) # if all 7 green → amend BLOCKERS §1 with: # **Closed YYYY-MM-DD via bounded spot-check (ADR-0009, report ...)** ``` ## What this PR DOES - ✅ Defines the bounded 7-point spot-check ADR with reasoning per check. - ✅ Ships the executable script (`bash -n` clean, lives test produced output in 0.06s). - ✅ Seeds a report with auto-run output for operator review. - ✅ Updates BLOCKERS §1 to reference the bounded procedure as canonical. ## What this PR DOES NOT - Does NOT itself sign off L-1.5 — operator decides after running the spot-check. - Does NOT replace `recovery/verify-baseline.sh` (retained for deep audit, yearly, incidents). - Does NOT auto-fix the 2 surfaced failures (triage requires operator). - Does NOT touch any runtime path, sacred path, or module manifest. ## Acceptance criteria - [x] ADR-0009 has Status: Proposed. - [x] Script is executable, `bash -n` clean, runs in <30s on the actual repo (verified: 5/7 PASS). - [x] Seed report is valid Markdown with operator-triage analysis for the 2 failures. - [x] BLOCKERS §1 amended (legacy 21-check procedure retained for deep audit). - [ ] 3+3 canary fires on `risk/process` (touches `decisions/`). - [ ] Operator runs script + makes triage decisions for the 2 failures. ## Rollback ``` git revert 4e2325f git push origin main ``` Single commit, 3 net-new files + 1 edit. Reverting is clean. ## Refs - GPT-5.5 Pro oracle review 2026-05-11 §4 OPEN DECISIONS (L-1.5): *"Sign it after a bounded spot-check, not a full re-audit. Operator verification cost should be one focused pass. Do not personally redo 21/21 checks. That defeats the point of the platform."* - `BLOCKERS_FOR_OPERATOR.md` §1 (existing blocker; this PR amends). - `INDEX.md` (original L-1.5 spec, 2026-04-30; predates 6 weeks of platform evolution). - Companion: PR #168 (governance ADRs) and PR #169 (job bundle foundation). ## Codex effort needed **Review + merge.** After merge, operator runs the script + makes 2 triage calls. ~30 min of operator attention is the realistic close-out cost (vs. multi-hour for full 21-check re-do). --- **Role:** orchestrator / drafter (claude) **Lane:** ops / bounded closure **Next:** operator decision on Check 1 + Check 3 triage options → re-run script → sign off.
ops: ADR-0009 bounded L-1.5 baseline closure via 7-point spot-check
All checks were successful
canary-required / collect-diff (pull_request) Successful in 3s
canary-required / canary (pull_request) Successful in 11s
4e2325f580
Replaces routine 21-check verify-baseline.sh re-run with a 7-point bounded
spot-check that operator can complete in <5 min. Full 21-check remains
available for deep audit (incident response, yearly, structural change).

What ships

- decisions/0009-bounded-l-1-5-closure.md — the ADR
- scripts/baseline-spot-check.sh — executable, runs in <30s, exits 0 on
  all-green, structured Markdown report to stdout
- state/reports/L-1.5-spot-check-2026-05-11.md — seed report (run during
  PR creation); 5/7 PASS, 2/7 FAIL with operator-triage analysis
- BLOCKERS_FOR_OPERATOR.md §1 amended to reference bounded procedure

The 7 checks

1. Manifest count (>=81, <=120)
2. Schema validation (platformctl validate all exits 0)
3. Baseline replica presence (>=2 of 3 hosts)
4. Sacred paths defined (policies/sacred-paths.yaml OR PLATFORM_CHARTER.md
   reference)
5. Foundational ADR set complete (0001-0005)
6. AGENTS.md identity-isolation section present
7. Sunset queue tracked (>=1 module with lifecycle: sunset)

Live findings from seed report (2026-05-11T00:00:51Z)

- 5/7 PASS
- Check 1 FAIL: 80 manifests on disk vs INDEX.md claim of 81. Operator
  triage options A/B/C documented in seed report.
- Check 3 FAIL: 1/3 baseline replicas reachable via BatchMode SSH (M1 only;
  rs2000 and vps1000 either path-different or auth-flaky in BatchMode).
  Operator triage options A/B/C documented.

These two findings likely overlap with operator's recalled "coś było
blokerem, nie spełniało one-day-rule i poszedłem dalej" — surfacing drift
without forcing full 21-check redo. Per ADR-0009 design intent.

What this PR DOES NOT

- Does NOT itself sign off L-1.5 (operator decides after seeing the
  bounded report)
- Does NOT replace recovery/verify-baseline.sh (retained for deep audit)
- Does NOT auto-fix the 2 surfaced failures (triage requires operator)
- Does NOT touch any runtime path

Refs

- GPT-5.5 Pro oracle review 2026-05-11 §4 OPEN DECISIONS (L-1.5):
  "Sign it after a bounded spot-check, not a full re-audit. Do not
  personally redo 21/21 checks. That defeats the point of the platform."
- BLOCKERS_FOR_OPERATOR.md §1 (existing blocker, updated by this PR)
- INDEX.md (original L-1.5 specification, predates 6-week platform
  evolution)

**Role:** orchestrator / drafter (claude)
Collaborator

Fork A triage (codex): closing as superseded/stale.

This was a Phase/L-1.5 baseline closure artifact. The current roadmap explicitly treats Phase 01/freeze and the F-series migration waves as historical execution records; active closeout now lives in Milestone 01 and ADR-0020. This PR also edits BLOCKERS_FOR_OPERATOR.md, which is no longer an allowed operator-status surface under ADR-0006/current AGENTS rules.

Do not merge as-is; if any baseline spot-check value remains, rewrite it as a current Milestone 01/02 issue or small PR.

Fork A triage (codex): closing as superseded/stale. This was a Phase/L-1.5 baseline closure artifact. The current roadmap explicitly treats Phase 01/freeze and the F-series migration waves as historical execution records; active closeout now lives in Milestone 01 and ADR-0020. This PR also edits `BLOCKERS_FOR_OPERATOR.md`, which is no longer an allowed operator-status surface under ADR-0006/current AGENTS rules. Do not merge as-is; if any baseline spot-check value remains, rewrite it as a current Milestone 01/02 issue or small PR.
codex closed this pull request 2026-05-24 07:59:21 +02:00
Some checks are pending
canary-required / collect-diff (pull_request) Successful in 3s
canary-required / canary (pull_request) Successful in 11s
base-is-main / guard (pull_request)
Required
patchwarden-pr-sanity / sanity (pull_request)
Required

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
W6d-automerge-calibration
agent/claude-code
agent/codex
agent/hermes
agent/iskra
agent/ollama
agent/patchwarden
automerge-candidate
class/security-sensitive
cutover-gate
dependency/blocked
dependency/blocks-others
dependency/cross-repo
dependency/needs-confirmation
domain:agents
domain:ci
domain:docs
domain:forgejo
domain:infra
domain:memory
domain:runtime
domain:signal
domain:ux
flow/architecture
flow/blocked
flow/deployed
flow/done
flow/implementation
flow/intake
flow/maintained
flow/observed
flow/ready
flow/refining
flow/retired
flow/review
iterating
judge/codex-candidate
judge/hermes-candidate
judge/low-confidence
judge/needs-refinement
judge/operator-needed
judge/p0
judge/p1
judge/p2
judge/p3
judge/park
judge/patchwarden-candidate
judge/stale-priority
kind/adr
kind/bug
kind/chore
kind/feature
kind/infra
kind/ops
kind/refactor
kind/research
large-impact
merge/auto
merge/manual
merge/manual-dependency-conflict
merge/manual-failing-tests
merge/manual-merge-conflict
merge/manual-missing-review
merge/manual-operator-preference
merge/manual-red-zone
merge/manual-security-sensitive
merge/manual-unclear-scope
merge/manual-unknown
meta
mode:operator-only
mode:patchwarden-iskra-approved
mode:safe-auto
needs-operator-decision
needs-triage
not-ready
observed/erroring
observed/needs-followup
observed/pending
observed/retire-candidate
observed/unused
observed/used
operator-emotional
owner-attention
phase/02
phase/03
priority:p0
priority:p1
priority:p2
priority:p3
proposed
ready-for-agent
ready-for-operator
recovery
review:claude-reviewed
review:codex-reviewed
review:dziadek-reviewed
review:needs-human
risk/exposure
risk/process
risk/product
risk/runtime
safety:external-write
safety:no-prod-mutation
safety:prod-impact
safety:secret-touch
size/large
size/medium
size/small
size/tiny
size/unknown
source/adr
source/agent-generated
source/manual
source/operator-chat
source/voice-note
status:blocked
status:codex-ready
status:merged:pending-evidence
status:needs-evidence
status:operator-needed
status:parked
tier/full
tier/lite
tier/stacked
tier:0-platform-substrate
tier:1-iskra-value-layer
tier:2-tools-products-modules
type:bug
type:chore
type:docs
type:feat
type:policy
type:research
No milestone
No project
No assignees
2 participants
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
pdurlej/platform!170
No description provided.