docs(secrets): add infisical key map and agent sos #606

Closed
codex wants to merge 0 commits from codex/m03-infisical-key-map into main
Collaborator

Canary status: missing - fire canary 3+3 manually before merge

Summary

Adds a metadata-only Infisical key map and Agent SOS guide so cousin agents can find secret paths without guessing or asking Piotr for raw credentials.

Canary Context Pack

Product story

Agents currently treat Infisical as a black box. That creates repeated confusion, wrong-path guesses, and unnecessary operator interruptions. This gives them a safe map: path names, key names, refresh time, and escalation shapes only.

What changed

  • Added docs/infisical/key-map.md with path families, key names, refresh metadata, and maintenance rules.
  • Added docs/agents/agent-sos.md for secret/identity/Forgejo access triage.
  • Linked both from runbooks/secrets-pipeline.md.

Why it changed

The platform needs a shared, non-secret map of where secrets live and how agents should report blockers. Key names are safe evidence; values remain outside git.

Files touched

  • docs/infisical/key-map.md
  • docs/agents/agent-sos.md
  • runbooks/secrets-pipeline.md

Relevant context

  • M03 secrets/access hardening
  • runbooks/secrets-pipeline.md
  • docs/forgejo-agent-operations.md
  • Infisical Agent Onboarding skill

Runtime evidence

Metadata-only Infisical refresh was run for known platform paths. It recorded key names and counts only. No secret values were printed or stored.

Known constraints

This is not an automated inventory yet. Two documented paths are marked unverified because this Token Auth identity did not return readable key names for them during refresh.

Explicit out-of-scope

  • No secret value changes.
  • No Infisical ACL changes.
  • No automatic platformctl secrets map command yet.
  • No Vault/BWS migration.

Requested decision

Merge as docs-only M03 friction reduction.

Merge blockers

  • Any key name that should not be documented even as metadata.
  • Any concern that FORGEJO_ADMIN_PAT_TEMP should be removed before documenting its existence.

Spec sources read

  • runbooks/secrets-pipeline.md - primary secrets runbook
  • docs/forgejo-agent-operations.md - Forgejo/Infisical operational rules
  • /Users/pd/.codex/skills/infisical-agent-onboarding/SKILL.md - local cousin secret-handling contract

Validation

  • UV_CACHE_DIR=/private/tmp/uv-cache-platform PYTHONPATH=control-plane uv run --project control-plane python -m platformctl.cli validate all --json - exitCode 0, 88 modules ok
  • Infisical metadata-only refresh: key names/counts only; no values printed or committed
Canary status: missing - fire canary 3+3 manually before merge ## Summary Adds a metadata-only Infisical key map and Agent SOS guide so cousin agents can find secret paths without guessing or asking Piotr for raw credentials. ## Canary Context Pack ### Product story Agents currently treat Infisical as a black box. That creates repeated confusion, wrong-path guesses, and unnecessary operator interruptions. This gives them a safe map: path names, key names, refresh time, and escalation shapes only. ### What changed - Added `docs/infisical/key-map.md` with path families, key names, refresh metadata, and maintenance rules. - Added `docs/agents/agent-sos.md` for secret/identity/Forgejo access triage. - Linked both from `runbooks/secrets-pipeline.md`. ### Why it changed The platform needs a shared, non-secret map of where secrets live and how agents should report blockers. Key names are safe evidence; values remain outside git. ### Files touched - `docs/infisical/key-map.md` - `docs/agents/agent-sos.md` - `runbooks/secrets-pipeline.md` ### Relevant context - M03 secrets/access hardening - `runbooks/secrets-pipeline.md` - `docs/forgejo-agent-operations.md` - Infisical Agent Onboarding skill ### Runtime evidence Metadata-only Infisical refresh was run for known platform paths. It recorded key names and counts only. No secret values were printed or stored. ### Known constraints This is not an automated inventory yet. Two documented paths are marked unverified because this Token Auth identity did not return readable key names for them during refresh. ### Explicit out-of-scope - No secret value changes. - No Infisical ACL changes. - No automatic `platformctl secrets map` command yet. - No Vault/BWS migration. ### Requested decision Merge as docs-only M03 friction reduction. ### Merge blockers - Any key name that should not be documented even as metadata. - Any concern that `FORGEJO_ADMIN_PAT_TEMP` should be removed before documenting its existence. ## Spec sources read - `runbooks/secrets-pipeline.md` - primary secrets runbook - `docs/forgejo-agent-operations.md` - Forgejo/Infisical operational rules - `/Users/pd/.codex/skills/infisical-agent-onboarding/SKILL.md` - local cousin secret-handling contract ## Validation - `UV_CACHE_DIR=/private/tmp/uv-cache-platform PYTHONPATH=control-plane uv run --project control-plane python -m platformctl.cli validate all --json` - exitCode 0, 88 modules ok - Infisical metadata-only refresh: key names/counts only; no values printed or committed
docs(secrets): add infisical key map and agent sos
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
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) Successful in 22s
patchwarden-pr-sanity / sanity (pull_request) Failing after 1m51s
81c611a8bb
Owner

Manually integrated because Forgejo checks stayed pending while the change is docs-only and local validation was green.

Integrated on main via merge commit e7863e34a34e78658c09fd050138b99db1038487.

Validation summary:

  • platformctl validate all --json: exitCode 0, 88 modules ok
  • Infisical refresh was metadata-only: path/key names and counts only, no values printed or committed
Manually integrated because Forgejo checks stayed pending while the change is docs-only and local validation was green. Integrated on `main` via merge commit `e7863e34a34e78658c09fd050138b99db1038487`. Validation summary: - `platformctl validate all --json`: exitCode 0, 88 modules ok - Infisical refresh was metadata-only: path/key names and counts only, no values printed or committed
pdurlej closed this pull request 2026-05-29 15:55:19 +02:00
Some checks failed
base-is-main / guard (pull_request) Successful in 1s
Required
Details
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) Successful in 22s
patchwarden-pr-sanity / sanity (pull_request) Failing after 1m51s
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
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!606
No description provided.