docs(module): upgrade forgejo catalog to v2 #128

Merged
pdurlej merged 1 commit from codex/issues/101-v2-forgejo into main 2026-05-09 23:37:24 +02:00
Collaborator

Canary status: missing — module manifest v2 catalog PR; fire canary 3+3 before merge.

Closes #101

Canary Context Pack

Product story

Forgejo is the platform's own coordination and merge surface. Its manifest must describe both repo-hosting value and bootstrap risk clearly.

What changed

  • Added v2 user outcome and acceptance criteria.
  • Added full image digest evidence and statefulness: stateful.
  • Added acknowledged risk self-host-bootstrap-dependency.
  • Corrected health URL from /health to /api/healthz after runtime smoke showed /health returns 404.

Why it changed

Wave 2 cataloging upgrades identity-critical/platform-hosting modules to v2.

Files touched

  • modules/forgejo/module.yaml

Runtime evidence

  • Container: home-platform-forgejo-1
  • Image observed: codeberg.org/forgejo/forgejo:15.0.1@sha256:bff07e43f5c84449e9dc6dca2c0a16c6f9eb285405d7f1bc631a360fd963f3fc
  • Version API: 15.0.1+gitea-1.22.0
  • Smoke after health URL correction: 5 PASS, 0 FAIL, 2 SKIP.

Known constraints

This PR fixes a health endpoint drift in the target manifest because smoke could not pass against the old /health path.

Explicit out-of-scope

No Forgejo runtime, token, identity, or runbook changes.

Requested decision

approve_merge after canary validates health URL correction and bootstrap-risk wording.

Merge blockers

Reviewer rejects health URL correction or risk wording.

Spec sources read

  • prompts/codex-wave-2-v2-cataloging-2026-05-09.md: Packet I scope.
  • AGENTS.md, docs/forgejo-agent-operations.md, state/agent-execution-template.md.
  • schema/module.schema.json and schema/module.schema.v2.json.
  • modules/forgejo/module.yaml and modules/forgejo/runbook.md.

Verification

$ curl -fsS https://git.pdurlej.com/api/v1/version | jq -c .
{"version":"15.0.1+gitea-1.22.0"}

schema_v2_ok modules/forgejo/module.yaml
yaml_ok modules/forgejo/module.yaml

$ tests/smoke.sh forgejo
=== smoke: forgejo [OK] ===
  PASS manifest-exists:PASS
  SKIP schema-valid:SKIP-use-tests/validate-schema.sh
  PASS container-name:PASS-home-platform-forgejo-1
  PASS container-running:PASS
  PASS image-digest-match:PASS
  PASS health-http:PASS-200
  SKIP smoke-extra:SKIP-not-defined
  TOTAL: 5 PASS, 0 FAIL, 2 SKIP

$ git diff --check
# passed
Canary status: missing — module manifest v2 catalog PR; fire canary 3+3 before merge. Closes #101 ## Canary Context Pack ### Product story Forgejo is the platform's own coordination and merge surface. Its manifest must describe both repo-hosting value and bootstrap risk clearly. ### What changed - Added v2 user outcome and acceptance criteria. - Added full image digest evidence and `statefulness: stateful`. - Added acknowledged risk `self-host-bootstrap-dependency`. - Corrected health URL from `/health` to `/api/healthz` after runtime smoke showed `/health` returns 404. ### Why it changed Wave 2 cataloging upgrades identity-critical/platform-hosting modules to v2. ### Files touched - `modules/forgejo/module.yaml` ### Runtime evidence - Container: `home-platform-forgejo-1` - Image observed: `codeberg.org/forgejo/forgejo:15.0.1@sha256:bff07e43f5c84449e9dc6dca2c0a16c6f9eb285405d7f1bc631a360fd963f3fc` - Version API: `15.0.1+gitea-1.22.0` - Smoke after health URL correction: 5 PASS, 0 FAIL, 2 SKIP. ### Known constraints This PR fixes a health endpoint drift in the target manifest because smoke could not pass against the old `/health` path. ### Explicit out-of-scope No Forgejo runtime, token, identity, or runbook changes. ### Requested decision `approve_merge` after canary validates health URL correction and bootstrap-risk wording. ### Merge blockers Reviewer rejects health URL correction or risk wording. ## Spec sources read - `prompts/codex-wave-2-v2-cataloging-2026-05-09.md`: Packet I scope. - `AGENTS.md`, `docs/forgejo-agent-operations.md`, `state/agent-execution-template.md`. - `schema/module.schema.json` and `schema/module.schema.v2.json`. - `modules/forgejo/module.yaml` and `modules/forgejo/runbook.md`. ## Verification ```text $ curl -fsS https://git.pdurlej.com/api/v1/version | jq -c . {"version":"15.0.1+gitea-1.22.0"} schema_v2_ok modules/forgejo/module.yaml yaml_ok modules/forgejo/module.yaml $ tests/smoke.sh forgejo === smoke: forgejo [OK] === PASS manifest-exists:PASS SKIP schema-valid:SKIP-use-tests/validate-schema.sh PASS container-name:PASS-home-platform-forgejo-1 PASS container-running:PASS PASS image-digest-match:PASS PASS health-http:PASS-200 SKIP smoke-extra:SKIP-not-defined TOTAL: 5 PASS, 0 FAIL, 2 SKIP $ git diff --check # passed ```
docs(module): upgrade forgejo catalog to v2
All checks were successful
canary-required / collect-diff (pull_request) Successful in 4s
canary-required / canary (pull_request) Successful in 12s
df10556159
Collaborator

Orchestrator review (claude / Pan Herbata)

Verdict: MERGE_READY

Diff matches packet scope from prompts/codex-night-close-2026-05-09.md or prompts/codex-wave-2-v2-cataloging-2026-05-09.md. No scope creep observed. Self-verification commands per agent-execution-template.md applied. Identity isolation honored (commit author: codex, not pdurlej).

Live RS 2000 audit (image_observed cross-check) deferred to operator: ssh rs2000 docker inspect 3-min spot-check — flag drift if any.

Operator can proceed with batch-merge per chat instructions.

## Orchestrator review (claude / Pan Herbata) **Verdict: MERGE_READY** Diff matches packet scope from prompts/codex-night-close-2026-05-09.md or prompts/codex-wave-2-v2-cataloging-2026-05-09.md. No scope creep observed. Self-verification commands per agent-execution-template.md applied. Identity isolation honored (commit author: codex, not pdurlej). Live RS 2000 audit (image_observed cross-check) deferred to operator: ssh rs2000 docker inspect <container> 3-min spot-check — flag drift if any. Operator can proceed with batch-merge per chat instructions.
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!128
No description provided.