docs(specs): secrets-pipeline-foundation-v0 prebuild (#237) #335

Closed
claude wants to merge 0 commits from claude/secrets-pipeline-foundation-v0-prebuild into main
Collaborator

Summary

Pre-implementation Spec Kit for closing the 6-week-old "Bws/Infisical secrets injection" Open Loop (3 audit cycles 2026-04-04/05/12, never resolved).

BATCH G prebuild 1/4. Sibling prebuilds in flight: vault-to-infisical-migration-v0 (#64), vault-tier-3-architecture-v0 (#178+#180), pseudo-anonymization-readlayer-v0 (#177).

What's in

  • docs/specs/secrets-pipeline-foundation-v0/ — 6-file Spec Kit (Constitution, Specify, Plan, Tasks, Implementation notes, README)
  • prompts/codex-secrets-pipeline-foundation.md — execution prompt with Safety/production boundary

Slice sequence (strict order, each = own PR)

  1. Decision PR (Full): bws vs Infisical vs hybrid; ADR-0XXX
  2. Recon (Lite): 3 uncommitted RS2000 files commit-or-archive
  3. 3-fixes (Full, canary 3+3): curl -k, plaintext fallback, env-stored service token
  4. Wire-up (Full, canary 3+3): mail-infra dispatch token end-to-end (unblocks #235)
  5. Runbook (Lite): rotation, emergency disconnect, bootstrap, contract

Constitution principles (P1-P8)

Single primary backend / no plaintext fallback / no env service tokens / no curl -k / audit log per fetch / rotation runbook / smallest coherent PRs / ADR-0018 conformance.

Operator action

Merge → paste contents of prompts/codex-secrets-pipeline-foundation.md to fresh Codex session OR have Codex execute Slice 1 first (Decision PR is the bottleneck).

Tier: Trivial per ADR-0007 (Spec Kit + prompt, docs-only).

Refs #237 #235 #236 #238 #142

## Summary Pre-implementation Spec Kit for closing the 6-week-old "Bws/Infisical secrets injection" Open Loop (3 audit cycles 2026-04-04/05/12, never resolved). BATCH G prebuild 1/4. Sibling prebuilds in flight: vault-to-infisical-migration-v0 (#64), vault-tier-3-architecture-v0 (#178+#180), pseudo-anonymization-readlayer-v0 (#177). ## What's in - `docs/specs/secrets-pipeline-foundation-v0/` — 6-file Spec Kit (Constitution, Specify, Plan, Tasks, Implementation notes, README) - `prompts/codex-secrets-pipeline-foundation.md` — execution prompt with Safety/production boundary ## Slice sequence (strict order, each = own PR) 1. **Decision PR** (Full): bws vs Infisical vs hybrid; ADR-0XXX 2. **Recon** (Lite): 3 uncommitted RS2000 files commit-or-archive 3. **3-fixes** (Full, canary 3+3): `curl -k`, plaintext fallback, env-stored service token 4. **Wire-up** (Full, canary 3+3): mail-infra dispatch token end-to-end (unblocks #235) 5. **Runbook** (Lite): rotation, emergency disconnect, bootstrap, contract ## Constitution principles (P1-P8) Single primary backend / no plaintext fallback / no env service tokens / no `curl -k` / audit log per fetch / rotation runbook / smallest coherent PRs / ADR-0018 conformance. ## Operator action Merge → paste contents of `prompts/codex-secrets-pipeline-foundation.md` to fresh Codex session OR have Codex execute Slice 1 first (Decision PR is the bottleneck). Tier: Trivial per ADR-0007 (Spec Kit + prompt, docs-only). Refs #237 #235 #236 #238 #142
docs(specs): prebuild for #243 branch protection main base-is-main guard
All checks were successful
base-is-main / guard (pull_request) Successful in 2s
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 3s
canary-required / canary (pull_request) Successful in 14s
patchwarden-pr-sanity / sanity (pull_request) Successful in 20s
13bced9cc3
Operator-action issue #243 deferred since ADR-0017 merge (PR #220, 2026-05-12)
because RS2000 cutover window was active. F3 stateful smokes landed
2026-05-17 ~02:37 CEST, so the deferral preconditions are now satisfied.

This prebuild documents:

- Why this now, what changed since #243 was deferred
- Exact Forgejo UI checklist (steps, fields, required values)
- Post-enablement verification smoke (test stacked PR red, escape hatch
  green, normal PR no regression)
- Rollback procedure if anything breaks ongoing work
- Companion execution prompt for codex (verification-only role; operator
  is the only actor who toggles UI settings)

Files:
- docs/specs/branch-protection-main-base-guard/README.md
- docs/specs/branch-protection-main-base-guard/01-context.md
- docs/specs/branch-protection-main-base-guard/02-checklist.md
- docs/specs/branch-protection-main-base-guard/03-verification.md
- docs/specs/branch-protection-main-base-guard/04-rollback.md
- prompts/codex-branch-protection-main-base-guard.md

Hard gates preserved:
- Operator-UI only for protection toggle (codex MUST NOT call branch
  protection API)
- No test PR merge during verification (test PRs created, observed,
  closed without merge)
- Per ADR-0018: no "accept workaround" outcomes if verification fails

Tier: Trivial per ADR-0007 (docs-only, no runtime/schema/sacred-path
mutation). The action this enables (branch protection enable) is itself
operator-UI-only, no code involved.

Part of batch C (process/governance) prebuild shift.
Refs #243 #220 ADR-0017 ADR-0018
Author
Collaborator

Duplicate of #330 — closing

This branch and PR #330 point to bit-identical content (same 6 files, same SHA 13bced9). Fork-anchor 2026-05-17 cross-branch collision.

Content is actually #243 branch protection Spec Kit — neither this PR title (secrets-pipeline) nor #330 (canary bug) match.

Closing as duplicate. PR #330 retitled to actual content. #237 secrets-pipeline content lives on PR #349. #85 canary bug + #86 security-sensitive routing content genuinely lost — retry in fresh worktree session.

## Duplicate of #330 — closing This branch and PR #330 point to bit-identical content (same 6 files, same SHA 13bced9). Fork-anchor 2026-05-17 cross-branch collision. Content is actually #243 branch protection Spec Kit — neither this PR title (secrets-pipeline) nor #330 (canary bug) match. Closing as duplicate. PR #330 retitled to actual content. #237 secrets-pipeline content lives on PR #349. #85 canary bug + #86 security-sensitive routing content genuinely lost — retry in fresh worktree session.
claude closed this pull request 2026-05-17 22:43:36 +02:00
All checks were successful
base-is-main / guard (pull_request) Successful in 2s
Required
Details
canary-required / collect-diff (pull_request) Successful in 4s
patchwarden-pr-sanity / collect-diff (pull_request) Successful in 3s
canary-required / canary (pull_request) Successful in 14s
patchwarden-pr-sanity / sanity (pull_request) Successful in 20s
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
1 participant
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!335
No description provided.