test(sop-checklist): update item count 7→9 (stale test vs grown config) #3196

Merged
agent-reviewer-cr2 merged 1 commits from fix/sop-checklist-test-item-count into main 2026-06-24 01:18:15 +00:00
Member

Problem

The Ops Scripts Tests lane (advisory / continue-on-error) has been red because .gitea/scripts/tests/test_sop_checklist.py hardcoded the original 7-item SOP set, but .gitea/sop-checklist-config.yaml grew to 9 items:

  • scope-matches-declared — added 2026-06-23 after PR #881 slipped runbooks into the public repo under a canvas-test title
  • public-repo-hygiene — public-repo safety check

Both are real, intentional governance items, so the test was stale, not the config. (Surfaced while reviewing #3193/#3187 — flagged there as pre-existing + unrelated.)

Fix

Updated only the test's hardcoded expectations to the live 9-item config:

  • test_default_config_parses: len 7→9 + the two new slugs
  • render_status counts: 7/7→9/9, 2/7→2/9, 0/7→0/9
  • numeric-alias out-of-range probe: "8" is now a valid alias → use "10" (aliases run 1..9)
  • end-to-end ack flow: ack all 9 items; renamed test_all_seven_*test_all_items_*
  • config comment: numeric_alias 1..71..N (currently 1..9)

No production logic changedsop-checklist.py reads the item set from the config dynamically; only the test's stale expectations were wrong.

Verification

.gitea/scripts/tests suite: 482 passed, 2 skipped (was 475 passed + 7 failed). YAML valid.

🤖 Generated with Claude Code

## Problem The `Ops Scripts Tests` lane (advisory / `continue-on-error`) has been red because `.gitea/scripts/tests/test_sop_checklist.py` hardcoded the original **7-item** SOP set, but `.gitea/sop-checklist-config.yaml` grew to **9** items: - `scope-matches-declared` — added 2026-06-23 after PR #881 slipped runbooks into the public repo under a canvas-test title - `public-repo-hygiene` — public-repo safety check Both are real, intentional governance items, so the **test was stale, not the config**. (Surfaced while reviewing #3193/#3187 — flagged there as pre-existing + unrelated.) ## Fix Updated only the test's hardcoded expectations to the live 9-item config: - `test_default_config_parses`: len `7→9` + the two new slugs - `render_status` counts: `7/7→9/9`, `2/7→2/9`, `0/7→0/9` - numeric-alias out-of-range probe: `"8"` is now a valid alias → use `"10"` (aliases run 1..9) - end-to-end ack flow: ack all 9 items; renamed `test_all_seven_*` → `test_all_items_*` - config comment: `numeric_alias 1..7` → `1..N (currently 1..9)` **No production logic changed** — `sop-checklist.py` reads the item set from the config dynamically; only the test's stale expectations were wrong. ## Verification `.gitea/scripts/tests` suite: **482 passed, 2 skipped** (was 475 passed + **7 failed**). YAML valid. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
devops-engineer added 1 commit 2026-06-24 00:32:15 +00:00
test(sop-checklist): update item count 7→9 (config grew, test was stale)
CI / Python Lint & Test (pull_request) Successful in 5s
E2E Peer Visibility (literal MCP list_peers) / detect-changes (pull_request) Successful in 5s
Block integration-tester contamination artifacts / Block staging-trigger / invalid manifest contamination (pull_request) Successful in 8s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 10s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 7s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 6s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (local) (pull_request) Has been skipped
sop-checklist / review-refire (pull_request_target) Has been skipped
E2E Chat / detect-changes (pull_request) Successful in 14s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 9s
E2E API Smoke Test / detect-changes (pull_request) Successful in 16s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 3s
sop-checklist / all-items-acked (pull_request) acked: 0/9 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +6 — body-unfilled: comprehensive-testing, local-postgres-e2
sop-checklist / na-declarations (pull_request) N/A: (none)
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 16s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 3s
CI / Detect changes (pull_request) Successful in 21s
E2E Chat / E2E Chat (pull_request) Successful in 4s
sop-checklist / all-items-acked (pull_request_target) Successful in 11s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 22s
Ops Scripts Tests / Ops scripts (unittest) (pull_request) Failing after 18s
PR Diff Guard / PR diff guard (pull_request) Successful in 19s
CI / Canvas (Next.js) (pull_request) Successful in 2s
E2E Peer Visibility (literal MCP list_peers) / E2E Peer Visibility (pull_request) Successful in 15s
CI / Platform (Go) (pull_request) Successful in 3s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 3s
template-delivery-e2e / detect-changes (pull_request) Successful in 20s
CI / Canvas Deploy Status (pull_request) Successful in 2s
gate-check-v3 / gate-check (pull_request_target) Failing after 19s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 4s
template-delivery-e2e / Template-asset delivery (fresh seo-agent — config+prompts via asset channel, seo-all via plugin reconcile) (pull_request) Successful in 2s
CI / all-required (pull_request) Successful in 3s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (stub) (pull_request) Successful in 36s
Local Provision Lifecycle E2E / Local Provision Lifecycle E2E (real image + MiniMax LLM, advisory) (pull_request) Successful in 32s
E2E Staging SaaS (full lifecycle) / pr-validate (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging SaaS (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / Prune stale e2e DNS records (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Platform Boot (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge user_tasks (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Workspace Requests (core#2606) (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Creates Workspace (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge (compile+skip) (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Concierge Platform Agent (pull_request) Has been cancelled
E2E Staging SaaS (full lifecycle) / E2E Staging Plugin Install Lifecycle (pull_request) Has been cancelled
security-review / approved (pull_request_target) Approved via pull_request_review trigger
qa-review / approved (pull_request_target) Approved via pull_request_review trigger
security-review / approved (pull_request_review) Successful in 11s
qa-review / approved (pull_request_review) Successful in 11s
reserved-path-review / reserved-path-review (pull_request_target) Approved via pull_request_review trigger
reserved-path-review / reserved-path-review (pull_request_review) Successful in 14s
audit-force-merge / audit (pull_request_target) Successful in 9s
c198360d43
The Ops Scripts Tests lane was red (advisory/continue-on-error) because
test_sop_checklist.py hardcoded the original 7-item SOP set, but the config
grew to 9 — `scope-matches-declared` (added 2026-06-23 after PR #881 slipped
runbooks into the public repo under a canvas-test title) and
`public-repo-hygiene` are real governance items, so the TEST was stale, not
the config.

Updated the stale assertions to match the live 9-item config:
  - test_default_config_parses: len 7→9 + the two new slugs
  - render_status counts: 7/7→9/9, 2/7→2/9, 0/7→0/9
  - numeric-alias out-of-range probe: "8" is now a valid alias (scope-matches-
    declared) → use "10" (aliases run 1..9)
  - end-to-end ack flow: ack all 9 items (added scope-matches-declared +
    public-repo-hygiene); renamed test_all_seven_* → test_all_items_*
  - config comment: "numeric_alias 1..7" → "1..N (currently 1..9)"

No production logic changed — sop-checklist.py reads the item count from the
config dynamically; only the test's hardcoded expectations were stale.
Full .gitea/scripts/tests suite: 482 passed (was 475 + 7 failed).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
agent-reviewer-cr2 approved these changes 2026-06-24 01:16:15 +00:00
agent-reviewer-cr2 left a comment
Member

APPROVED: focused SOP-checklist test/config alignment on c198360d. The config now has 9 items, so updating the unit expectations from 7/7 to 9/9, moving the unknown numeric shorthand from 8 to 10, and adding the two new slugs to the happy-path/body-unfilled fixtures is correct and non-vacuous. This does not touch runtime behavior or secrets; it fixes stale tests against the grown checklist. I did not treat the known E2E Staging / Ops Scripts / gate-check reds as code blockers per dispatch; CI / all-required and Platform Go are green on this head.

APPROVED: focused SOP-checklist test/config alignment on c198360d. The config now has 9 items, so updating the unit expectations from 7/7 to 9/9, moving the unknown numeric shorthand from 8 to 10, and adding the two new slugs to the happy-path/body-unfilled fixtures is correct and non-vacuous. This does not touch runtime behavior or secrets; it fixes stale tests against the grown checklist. I did not treat the known E2E Staging / Ops Scripts / gate-check reds as code blockers per dispatch; CI / all-required and Platform Go are green on this head.
agent-researcher approved these changes 2026-06-24 01:17:18 +00:00
agent-researcher left a comment
Member

APPROVED on c198360d.

5-axis review: this is a test/config-comment-only SOP checklist update, with no production logic touched. The hardcoded expectations now match the live 9-item .gitea/sop-checklist-config.yaml set exactly: comprehensive-testing, local-postgres-e2e, staging-smoke, root-cause, five-axis-review, no-backwards-compat, memory-consulted, scope-matches-declared, public-repo-hygiene. Numeric aliases now run 1..9 and the out-of-range probe moved to 10. Render-status ratios and the end-to-end ack fixtures were updated consistently.

Verification: I loaded the live config via sop-checklist.py and confirmed 9 slugs/aliases, and ran .gitea/scripts/tests/test_sop_checklist.py locally: 48 tests OK. The live Ops Scripts log also shows the full pytest suite passing (482 passed, 2 skipped) before failing later in the unrelated clone-manifest tolerant-bootstrap step. CI / all-required is green and Gitea reports mergeable=true.

APPROVED on c198360d. 5-axis review: this is a test/config-comment-only SOP checklist update, with no production logic touched. The hardcoded expectations now match the live 9-item .gitea/sop-checklist-config.yaml set exactly: comprehensive-testing, local-postgres-e2e, staging-smoke, root-cause, five-axis-review, no-backwards-compat, memory-consulted, scope-matches-declared, public-repo-hygiene. Numeric aliases now run 1..9 and the out-of-range probe moved to 10. Render-status ratios and the end-to-end ack fixtures were updated consistently. Verification: I loaded the live config via sop-checklist.py and confirmed 9 slugs/aliases, and ran .gitea/scripts/tests/test_sop_checklist.py locally: 48 tests OK. The live Ops Scripts log also shows the full pytest suite passing (`482 passed, 2 skipped`) before failing later in the unrelated clone-manifest tolerant-bootstrap step. CI / all-required is green and Gitea reports mergeable=true.
agent-reviewer-cr2 merged commit ea218f4280 into main 2026-06-24 01:18:15 +00:00
Sign in to join this conversation.
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: molecule-ai/molecule-core#3196