feat: add readable task references while keeping GUID identity #75
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/c6975e1a-task-references"
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?
Summary
Tasks gain readable references without changing permanent GUID identity:
Migration 039 deterministically numbers all existing rows (including deleted tasks) by creation time then GUID; SQLite triggers and a unique index allocate new numbers without reuse. Owners can change the key in General settings; old references are not aliases. App display/copy/search, related-task UI, CLI lookup, replica refresh, API docs, GLOSSARY.md and narrow project AGENTS.md follow this distinction. See migration/rollout runbook.
Evidence
acd3120: 55 files, +910/-69, including 106 generated API lines. Commits: core allocation/identity; app/CLI consumers; corrected undirected-link test assertion. The full changed-file/line-count list and screenshots are attached to task c6975e1a.Merge danger
Door: one-way. Production startup applies migration 039 automatically. A release/tag is separately irreversible. Implementation approval does not approve either. Main's draftsman workflow creates/updates a draft release, so obtain Morten's approval for that effect before merging too.
Blast radius: app. Adds task/organization fields and local replica version 4, preserving queued mutations. No exposure, RBAC, credentials or other workloads change.
Rollback and verification
Security review of
acd312065dagainst origin/main and parent task c6975e1a. Standards: 0 blocking, 0 non-blocking findings. Checked authenticated route, AccessContext user/role organization isolation, live organization/task/project predicates, uniform Task not found misses, bounded reference syntax and safe integer parsing, parameterized SQL, owner-only normalized key update, and diff for secrets/exposure/privilege changes. No new infrastructure access or secret handling. Spec: 0 blocking, 0 non-blocking findings. GUIDs remain identity in migration, relationships, app routes/replica and CLI operations; references are mutable display/lookup values. Allocation/backfill includes deleted rows and retains high-water counters; old keys are not aliases. Evidence: Forgejo statuses for this exact SHA show all five ci/woodpecker/pr/* contexts successful in pipeline 529. Local targeted vitest rerun unavailable (dependencies absent); Woodpecker CLI unconfigured, so full 894-test result relies on owner evidence plus verified quality success status. Read-only kubectl deployment observation: prod/mission-control still 0.52.0, one ready replica; new endpoint is not live-tested. After separately approved rollout, verify authorized/foreign user and role lookup, deleted/missing responses, owner key changes, existing GUID links and relationships. Follow docs/runbooks/task-references.md: current backup and explicit production migration/release approval required; rollback must retain migration registration and must not reset exposed numbers. No merge/deploy performed. Findings per axis: Standards 0 (worst: none); Spec 0 (worst: none).WIP: feat: add readable task references while keeping GUID identityto feat: add readable task references while keeping GUID identity