design: extend the single source of record to fields: what each action reads, writes, and shows, per forge #517
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
#518 Epic: accepted decisions are enforced by checks, not only recorded
sixfold-space/madtea
Reference
sixfold-space/madtea#517
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
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?
What happens
ADR 0008 gives help text and parameter names one source of record, and ADR 0014 gives behavior one service layer. Neither covers the data: which fields an action reads, writes, and shows, and what each forge calls them. Those are hand-written per struct and per formatter, so they drift:
repos getdoes not show merge settings, features, or the website, thoughrepos editsets them, and theraw_jsondescription says the text shows the full content.actions runsreads Gitea's field names only, so Forgejo runs show no branch or start time (#504).Ask
A new decision record (created with
adr new) that sets the single source for fields, and the checks that follow from it. Options to weigh:editcan set it, and whethergetshows it (for example amadtea:"settable,shown,group=merge"tag).editparameters andgetoutput both derive from the tags. Tests usereflectto check that every settable field is shown and every field maps on both forges. This is theencoding/jsonapproach.opspec, next to the operation specs from ADR 0008.docs/api-specs/) withgo generate, with a hand-written mapping layer for the two forges.Whatever is chosen, add:
editcan set appears inget, for every noun,Open question
Which option.
Acceptance
repos getshows up as a failing test before its fix.