Plan credential value templates across public consumers #54
No reviewers
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/strategy!54
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/credential-value-templates"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This plan replaces copied credential format and verification enums with one checked registry shape across secrets, tools, and archetypes. It keeps legacy entries valid during the private transition, gates the one-time host migration, and makes tools the final merge. The exact contract, safe merge order, rollback paths, and local-auth dependency are recorded before implementation. A source-grounded Claude-family review found and corrected migration, creation, sequencing, quoting, and rollback defects. If the contract proves wrong during implementation, update this active plan before opening the affected implementation PR.
What changes
Risk
R0 for this documentation PR. The planned implementation is R3 and receives the review and validation budget described in the plan.
Validation
git diff --checkis clean.claude-opus-5, efforthigh, through the Pi runner; 6 blockers and 10 gaps resolved or dispositioned in the review prompt.Refs allod/secrets#23
Implementation of this plan has shipped as allod/archetypes PR 76, allod/secrets PR 24, and allod/tools PR 208, with handoff issue allod/secrets#25 and follow-up allod/secrets#26. The contract refinements below were found during implementation and code review and are the binding shape now; the PR bodies carry the review evidence. Under the process change in allod/memory PR 55, a plan of this kind is R4-only, so the owner may prefer to close this PR unmerged and let issue allod/secrets#23 plus the three PR bodies stand as the record; the merge order (archetypes, secrets, then tools) is already fixed in the issue's design comment.
Implementation Findings
Contract refinements found during implementation and review, now binding:
verifycommand is refused when blank, not only when empty.lib.forgejoTokenGroupsis validated at its export seam, so a malformed registry fails every consumer, not onlynix flake check.awk 'NF'; a source credential carrying bothformatandvalueis refused.migratedeclaresencode: "rclone-obscure"for an rclone container, with the round-trip proven on plain substitution of the stored (already obscured) password; the nextrotatetakes a raw password and obscures it. It evaluates the encoder export and validates the built template before decrypting or writing, refuses registry fields it does not model, validates legacyuser,repo_url, anddeployed_pathagainstdeclare's grammars before baking them into a command, and rewrites only the credential object's bytes.raw,raw-forgejo-token) are not migrated bymigrate; they become new-shape by a reviewed registry edit, androtate-tokenrotates them until then (allod/secrets#25).Pull request closed