WIP: docs(state): W6d post-#524 smoke target (Patchwarden Ollama wiring evidence) #527

Closed
claude wants to merge 8 commits from claude/smoke-test-524-post-merge into main
Collaborator

Draft (WIP prefix). Operator activates by:

  1. Removing WIP: from the title (or "Mark as ready for review").
  2. Applying the W6d-automerge-calibration label so patchwarden-client-dry-run triggers.

What this PR is

The minimum-viable smoke target for #524 (merged 2026-05-27 15:59). A single new file under state/cycle/ describing what the workflow is expected to do. Stays inside the safe_docs_status lane — no code, no workflow, no runtime, no secrets, no policy edits.

Why it exists

#524 shipped the wiring (workflow now calls live Ollama via --lane-config / --pr-metadata-file / --diff-file, plus gated post-findings --execute). Until a real PR runs through that wiring, we have code-confirmed but not evidence-confirmed behavior. This PR is the evidence trigger.

What operator should observe after activation

Signal Expected
Classification safe_docs_status
review-run Real Ollama call (kimi-k2.6:cloud primary, gemma4:31b-cloud fallback per policies/platform.v0.toml) — not the deterministic stub
resolve-findings Verdict eligible_clean for clean docs PR, or soft_fail_review_unreliable if Ollama is unreachable (per pdurlej/patchwarden#54)
post-findings --execute One Patchwarden comment on this PR (gated on runner-local FORGEJO_TOKEN_CODEX / PLATFORMCTL_PR_SANITY_COMMENT_TOKEN)
Iskra Manual review per standard W6d loop
Merge Operator clicks (per D20, never Patchwarden)

Out of scope

  • No pyfallow / fallow-ts integration (Luka 3, parked per pdurlej/patchwarden D21)
  • No expansion of the safe_docs_status lane
  • No merge/approval automation

Follow-up

If the workflow behaves as expected → pdurlej/patchwarden PR updating docs/operations/dogfood-actual-vs-mental-model.md ("Luka 1+2 evidence-confirmed") and platform-dogfood.md ("What IS proven" + new row). Bet 2 ratio in code-vs-vision-snapshot-2026-05-27.md moves from estimate to evidence at ~67%.

If the workflow misbehaves → file a follow-up in pdurlej/patchwarden with the artifact attached. Do NOT bypass the gate to merge this PR.

Files touched

  • state/cycle/W6d-post-524-smoke-2026-05-27.md (new, 60 lines)

Refs: pdurlej/platform#524, pdurlej/patchwarden#49 #50 #54 #58

**Draft (WIP prefix).** Operator activates by: 1. Removing `WIP:` from the title (or "Mark as ready for review"). 2. Applying the `W6d-automerge-calibration` label so `patchwarden-client-dry-run` triggers. ## What this PR is The minimum-viable smoke target for `#524` (merged 2026-05-27 15:59). A single new file under `state/cycle/` describing what the workflow is expected to do. Stays inside the `safe_docs_status` lane — no code, no workflow, no runtime, no secrets, no policy edits. ## Why it exists `#524` shipped the *wiring* (workflow now calls live Ollama via `--lane-config / --pr-metadata-file / --diff-file`, plus gated `post-findings --execute`). Until a real PR runs through that wiring, we have **code-confirmed but not evidence-confirmed** behavior. This PR is the evidence trigger. ## What operator should observe after activation | Signal | Expected | |---|---| | Classification | `safe_docs_status` | | `review-run` | Real Ollama call (kimi-k2.6:cloud primary, gemma4:31b-cloud fallback per `policies/platform.v0.toml`) — not the deterministic stub | | `resolve-findings` | Verdict `eligible_clean` for clean docs PR, or `soft_fail_review_unreliable` if Ollama is unreachable (per `pdurlej/patchwarden#54`) | | `post-findings --execute` | One Patchwarden comment on this PR (gated on runner-local `FORGEJO_TOKEN_CODEX` / `PLATFORMCTL_PR_SANITY_COMMENT_TOKEN`) | | Iskra | Manual review per standard W6d loop | | Merge | Operator clicks (per D20, never Patchwarden) | ## Out of scope - ❌ No pyfallow / fallow-ts integration (Luka 3, parked per `pdurlej/patchwarden` D21) - ❌ No expansion of the `safe_docs_status` lane - ❌ No merge/approval automation ## Follow-up If the workflow behaves as expected → `pdurlej/patchwarden` PR updating `docs/operations/dogfood-actual-vs-mental-model.md` ("Luka 1+2 evidence-confirmed") and `platform-dogfood.md` ("What IS proven" + new row). Bet 2 ratio in `code-vs-vision-snapshot-2026-05-27.md` moves from estimate to evidence at ~67%. If the workflow misbehaves → file a follow-up in `pdurlej/patchwarden` with the artifact attached. **Do NOT bypass the gate to merge this PR.** ## Files touched - `state/cycle/W6d-post-524-smoke-2026-05-27.md` (new, 60 lines) Refs: `pdurlej/platform#524`, `pdurlej/patchwarden#49 #50 #54 #58`
docs(state): W6d post-#524 smoke target (Patchwarden Ollama wiring evidence)
Some checks failed
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 4s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Failing after 21s
base-is-main / guard (pull_request) Successful in 1s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / sanity (pull_request) Successful in 24s
7ebd82dd6e
DRAFT smoke target validating that platform#524 wired Patchwarden review-run
to call live Ollama and post-findings --execute against the workflow's PR.

Single new file under state/cycle/ — fits safe_docs_status lane. No code
changes. No workflow/runtime/secrets edits. Operator activates by marking
ready + applying W6d-automerge-calibration label.

Refs: pdurlej/platform#524, pdurlej/patchwarden#49 #50 #54

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
pdurlej changed title from WIP: docs(state): W6d post-#524 smoke target (Patchwarden Ollama wiring evidence) to docs(state): W6d post-#524 smoke target (Patchwarden Ollama wiring evidence) 2026-05-27 22:40:30 +02:00
chore: trigger re-run for #527 smoke (synchronize event)
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / dry-run (pull_request) Failing after 21s
patchwarden-pr-sanity / sanity (pull_request) Successful in 24s
canary-required / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
334a4e370c
Workflow patchwarden-client-dry-run uses on: pull_request: [opened, synchronize, reopened].
First run (2659, at PR creation while WIP draft) failed after 21s.
This empty commit forces a synchronize event for a clean re-run with current main + canary env in place.

No content change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chore: re-trigger dry-run after #528 (MERGE_BASE export fix on main)
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 4s
infra-docs-drift / docs-drift (pull_request) Successful in 5s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
workflow-lint / lint (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Failing after 22s
patchwarden-pr-sanity / sanity (pull_request) Successful in 23s
994f820e33
Forces synchronize event so patchwarden-client-dry-run.yml workflow
picks up the fixed version from main (export MERGE_BASE).

Expected: dry-run step no longer crashes with KeyError, review-run
becomes reachable. Either Ollama call succeeds (Patchwarden comment
posted) or fail-closed on missing PLATFORMCTL_CANARY_ENV — both
outcomes are valid evidence.

No content change.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
codex force-pushed claude/smoke-test-524-post-merge from 994f820e33
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 4s
infra-docs-drift / docs-drift (pull_request) Successful in 5s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
workflow-lint / lint (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Failing after 22s
patchwarden-pr-sanity / sanity (pull_request) Successful in 23s
to add146a2c6
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Failing after 22s
patchwarden-pr-sanity / sanity (pull_request) Successful in 25s
2026-05-27 23:18:32 +02:00
Compare
chore: re-trigger dry-run after runner canary env + Patchwarden#60 merged
Some checks failed
base-is-main / guard (pull_request) Successful in 2s
canary-required / collect-diff (pull_request) Successful in 5s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Failing after 21s
patchwarden-pr-sanity / sanity (pull_request) Successful in 22s
f7382377eb
Stack now in place for evidence-confirmed end-to-end:
- pdurlej/patchwarden#60: OllamaRequest.api_key + OLLAMA_API_KEY env read
- pdurlej/platform#528: export MERGE_BASE (Python heredoc fix)
- Runner: canary.env aliases OLLAMA_API_KEY=$OLLAMA_CLOUD_API_KEY
  + OLLAMA_BASE_URL=https://ollama.com
- Runner: config.yaml volume mount /opt/forgejo-runner/data/platformctl
  into job containers so PLATFORMCTL_CANARY_ENV path resolves

Expected: review-run reaches cloud Ollama with bearer auth,
post-findings posts a comment to this PR.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chore: re-trigger after runner --config explicit flag
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 4s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Failing after 21s
patchwarden-pr-sanity / sanity (pull_request) Successful in 23s
1564bfac75
Previous restart didn't pick up config.yaml (default search may have
skipped it). Updated docker-compose command to `forgejo-runner daemon
-c /data/config.yaml` so container.options (--volume mount) applies.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
chore: re-trigger after runner valid_volumes added
All checks were successful
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Successful in 1m6s
patchwarden-pr-sanity / sanity (pull_request) Successful in 1m27s
fcb023ec02
Forgejo-runner v7.0.0 silently drops --volume mounts not listed in
container.valid_volumes (default []). Added /opt/forgejo-runner/data/
platformctl to valid_volumes. Restart complete. Expected: canary.env
finally visible inside job container.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator

No Patchwarden findings to render.

No Patchwarden findings to render.
Collaborator

Patchwarden PR sanity

  • Status: eligible_sanity_clean
  • PR: 527
  • Commit: 947943675dffaddd14b4b4d676628ea3429e0d9a
  • Security-sensitive label: missing
  • Authority: advisory model review plus deterministic blockers only
  • 3+3 canary: still alive; this does not replace it

Deterministic findings

No deterministic findings.

Model reviewers

global-glm / glm-5.1:cloud

  • Status: ok
  • Verdict: OK
  • Findings: none

global-deepseek / deepseek-v4-pro:cloud

  • Status: ok
  • Verdict: OK
  • Findings: none

redteam / kimi-k2.6:cloud

  • Status: ok
  • Verdict: OK
  • Findings: none

Policy notes

  • GLM 5.1 + DeepSeek V4 Pro are the operator-required model mix for this bot.
  • Optional red-team model is enabled only when PLATFORMCTL_PR_SANITY_REDTEAM_MODEL is configured.
  • Auto-merge is not enabled here.
<!-- patchwarden-pr-sanity:pdurlej/platform:PR-527 --> # Patchwarden PR sanity - Status: `eligible_sanity_clean` - PR: `527` - Commit: `947943675dffaddd14b4b4d676628ea3429e0d9a` - Security-sensitive label: `missing` - Authority: advisory model review plus deterministic blockers only - 3+3 canary: still alive; this does not replace it ## Deterministic findings No deterministic findings. ## Model reviewers ### `global-glm` / `glm-5.1:cloud` - Status: `ok` - Verdict: `OK` - Findings: none ### `global-deepseek` / `deepseek-v4-pro:cloud` - Status: `ok` - Verdict: `OK` - Findings: none ### `redteam` / `kimi-k2.6:cloud` - Status: `ok` - Verdict: `OK` - Findings: none ## Policy notes - GLM 5.1 + DeepSeek V4 Pro are the operator-required model mix for this bot. - Optional red-team model is enabled only when `PLATFORMCTL_PR_SANITY_REDTEAM_MODEL` is configured. - Auto-merge is not enabled here.
chore: re-test patchwarden (consistency check after issues #529/#530/#531 filed)
All checks were successful
base-is-main / guard (pull_request) Successful in 2s
canary-required / collect-diff (pull_request) Successful in 5s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Successful in 44s
patchwarden-pr-sanity / sanity (pull_request) Successful in 1m8s
947943675d
Sanity check that the smoke flow is stable, not a one-off:
- Same stack: #528 export + #60 cloud auth + runner valid_volumes + canary.env aliases
- Expected: another `dry-run` success ~1m + a new Patchwarden comment

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Collaborator

No Patchwarden findings to render.

No Patchwarden findings to render.
chore: re-test post identity fix (patchwarden user instead of codex)
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Successful in 41s
patchwarden-pr-sanity / sanity (pull_request) Failing after 1m5s
1cdcc855d7
After creating Forgejo user 'patchwarden' (id 9) + PAT (write:issue
scope) + appending PATCHWARDEN_FORGEJO_TOKEN + PR_SANITY_COMMENT_TOKEN
alias to canary.env. Workflow chain:

  PATCHWARDEN_COMMENT_TOKEN = PLATFORMCTL_PR_SANITY_COMMENT_TOKEN (now set)
                              -> FORGEJO_TOKEN_CODEX (fallback unused)

Expected: next Patchwarden comment posts under 'patchwarden' (not 'codex').

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
First-time contributor

No Patchwarden findings to render.

No Patchwarden findings to render.
pdurlej changed title from docs(state): W6d post-#524 smoke target (Patchwarden Ollama wiring evidence) to WIP: docs(state): W6d post-#524 smoke target (Patchwarden Ollama wiring evidence) 2026-05-29 01:55:34 +02:00
Collaborator

M10 disposition: moved to 10 - Improvements.

What this is: W6d Patchwarden/Ollama smoke target WIP.

Why parked here: This is calibration/evidence WIP from the Patchwarden/Ollama lane; useful as reference, but #529/#605 already handled the immediate Ollama env friction.

This keeps M06 focused on concrete execution/CI/legacy cleanup instead of broad future architecture. Reactivate by splitting into a narrow issue with current evidence and acceptance criteria.

M10 disposition: moved to `10 - Improvements`. What this is: W6d Patchwarden/Ollama smoke target WIP. Why parked here: This is calibration/evidence WIP from the Patchwarden/Ollama lane; useful as reference, but #529/#605 already handled the immediate Ollama env friction. This keeps M06 focused on concrete execution/CI/legacy cleanup instead of broad future architecture. Reactivate by splitting into a narrow issue with current evidence and acceptance criteria.
Author
Collaborator

Closing — moot. The #524 Ollama-wiring this smoke-target was meant to evidence-confirm is now proven by real Patchwarden usage (operator-confirmed: Patchwarden handles it in practice). The smoke-doc itself has nothing reusable.

One real loose thread it points to: the Patchwarden repo's docs/operations/dogfood-actual-vs-mental-model.md (+ platform-dogfood.md) may still mark the Ollama-wiring (Luka 1 + 2) as code-confirmed, not evidence-confirmed — worth flipping to evidence-confirmed now that it works. Small cross-repo doc follow-up; not blocking.

Closing — **moot**. The #524 Ollama-wiring this smoke-target was meant to *evidence-confirm* is now proven by real Patchwarden usage (operator-confirmed: Patchwarden handles it in practice). The smoke-doc itself has nothing reusable. **One real loose thread it points to:** the Patchwarden repo's `docs/operations/dogfood-actual-vs-mental-model.md` (+ `platform-dogfood.md`) may still mark the Ollama-wiring (Luka 1 + 2) as *code-confirmed, not evidence-confirmed* — worth flipping to evidence-confirmed now that it works. Small cross-repo doc follow-up; not blocking.
claude closed this pull request 2026-06-02 15:28:49 +02:00
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
Required
Details
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-client-dry-run / collect-diff (pull_request) Successful in 5s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 5s
canary-required / canary (pull_request) Has been skipped
patchwarden-client-dry-run / dry-run (pull_request) Successful in 41s
patchwarden-pr-sanity / sanity (pull_request) Failing after 1m5s
Required
Details

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
3 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!527
No description provided.