Skip to content

Make GitHub Issues the single source of truth for outstanding DPROD work #213

Description

@jgeluk

Problem

Outstanding DPROD work is being maintained in branch-local planning files, especially dprod-contracts/docs/changes-plan.md and dprod-contracts/docs/recurrence-redesign.md.

These files have diverged across develop, topic branches, and forks. That makes status and decisions depend on which branch somebody reads, prevents clean parallel ownership, and hides review comments and design discussion from the shared GitHub workflow.

The divergence is already visible:

The root problem is not merely that internal notes are published. The project currently has multiple mutable sources of truth for outstanding work and multiple overlapping delivery vehicles for that work.

Desired outcome

GitHub Issues is the only authoritative backlog for DPROD. Repository documents may contain stable specification or design material, but must not maintain parallel lists of open work, decisions, assignees, or status.

Each active change is developed in an issue-scoped branch and delivered by a clearly linked, non-duplicated PR. Merged, superseded, duplicate, or abandoned branches and PRs are closed or removed after confirming that they contain no unique work that still needs preservation.

Historical copies can remain in Git history and independent forks; they must no longer be treated as current project state. Branches in independent forks can only be removed by their owners, so the EKGF repository should record their disposition and ask the owner to clean them up where useful.

Work

Migrate the hand-maintained trackers

  1. Inventory every unresolved, deferred, or decision-needed item in the latest known copies of the contracts planning documents.
  2. Map each item to exactly one GitHub issue, reusing DPROD Contracts: Bucket 4 — recurrence redesign #184Docs: remove internal planning docs (changes-plan.md, recurrence-redesign.md) from published doc tree (4.8) #201 where applicable and creating issues only for genuine gaps.
  3. Move useful rationale, alternatives, meeting notes, and verification criteria into the corresponding issue body or comments. In particular, move the 5.8/5.9 modelling comparison to DPROD Contracts: DataOffer target and DataContract acceptsOffer cardinality — basket model (5.8 + 5.9) #189.
  4. Reconcile post-migration commits from Tony’s branches with issue state and discussion, including 3a41133, f6f0542, and 09c938f.
  5. Record dependencies between issues using GitHub links rather than execution-order lists in Markdown.
  6. Delete dprod-contracts/docs/changes-plan.md from develop and every maintained EKGF branch after verifying the issue mapping. Do not merge another copy of this file from an outstanding PR.
  7. Move any still-relevant recurrence design into DPROD Contracts: Bucket 4 — recurrence redesign #184, then delete dprod-contracts/docs/recurrence-redesign.md as part of DPROD Contracts: Bucket 4 — recurrence redesign #184.
  8. Update CONTRIBUTING.md to state that outstanding work and design decisions must be tracked in GitHub Issues and that PRs must link the relevant issue.
  9. Reconcile or close Docs: remove internal planning docs (changes-plan.md, recurrence-redesign.md) from published doc tree (4.8) #201 once its narrower document-removal scope is covered here.

Clean up branches and PRs

  1. Inventory all open PRs and remote branches and classify each as active, merged, superseded, duplicate, abandoned, or blocked on a named issue.
  2. Resolve PRs feat(contracts): dprod:lifeCycleStatus super-property; reject \xc2\xa75.8/\xc2\xa75.9 pending Stephen #203 and Open acceptsOffer to multiple DataOffers in 5.9 pattern #212 explicitly. They currently carry the same seven-commit chain from tonyseale:contracts/lifecycle-abstract-and-reject-5.8-5.9 and EKGF:contracts/lifecycle-abstract-and-reject-5.8-5.9. Preserve valid changes under their corresponding GitHub issues, then close the duplicate or superseded PRs with a comment linking the replacement issue/PR.
  3. Split surviving unrelated changes from the combined contracts branch into issue-scoped branches and PRs. Do not keep one long-lived branch as a replacement backlog.
  4. For every merged or superseded EKGF remote branch, compare it with its base and related merged PR before deletion. Delete it only after confirming that it has no unique commits or file changes that still need migration. Initial candidates include:
  5. Review other stale open PRs independently; close those that are obsolete, duplicated, or already implemented elsewhere, with a final comment explaining the disposition and linking any replacement issue or PR.
  6. Ask fork owners to delete obsolete fork branches where appropriate. Do not rewrite repository history merely to erase historical copies of the tracker.

Acceptance criteria

Related: #184, #185, #186, #188, #189, #190, #197, #198, #201, #203, #212.

Metadata

Metadata

Assignees

Labels

Data ContractsWork related to DPROD data contracts, agreements, data rights, and the ODRL profile.documentationImprovements or additions to documentationenhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions