GS: Refresh history, repair, and unlink workflows
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- full-stack
Research direction
Start with docs/design/google-sheets/failure-recovery.md, spreadsheet-layout.md, and sharing-security.md, then review parent #398 and dependencies #400, #401, and #402. Implement and verify the listed refresh history, diagnostics, repair, unlink, and managed-sheet removal behaviors, including safe audit records, preserved exported data, and no automatic destination mutation.
Written by the indexing model from the issue text.
Description
Parent: #398
Depends on: #400, #401, #402
Design:
docs/design/google-sheets/failure-recovery.mddocs/design/google-sheets/spreadsheet-layout.mddocs/design/google-sheets/sharing-security.md
Scope
Add refresh audit history, normalized diagnostics, broken-link indicators, repair actions, copied-spreadsheet handling, unlink, and managed-sheet removal.
Acceptance criteria
- Successful and failed refreshes append safe audit records with mode, phase, counts, duration, identities, and normalized error category.
- Tokens, credentials, and sensitive parameters never enter audit rows.
- UI exposes last status and refresh history per binding.
- Repair supports deleted managed sheets, stale staging, renamed resources, copied spreadsheets, Google reauthorization, source rebinding, and checkpoint reset through explicit full refresh.
- Repair never guesses resource identity from sheet names.
- Unlink disables future refresh and removes refresh metadata while preserving exported data by default.
- Removing managed worksheets is a separate destructive action.
- SQL Browser does not delete the entire spreadsheet.
- Broken bindings remain diagnosable and do not mutate destination data automatically.
Non-goals
Strict distributed locking, automatic repair, or Google file deletion.
- Dominant language
- TypeScript
- Stars
- 8
- Forks
- 2
- Avg merge
- 1h 34m
- Merged PRs (30d)
- 6
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Altinity/altinity-sql-browser
-
inbox
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Altinity/altinity-sql-browser#605 ·
-
inbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Altinity/altinity-sql-browser#509 ·
-
inbox
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Altinity/altinity-sql-browser#489 ·
-
flamegraph Openenhancement
Difficulty 5/5 Over a week Newbie friendliness 25/100
Altinity/altinity-sql-browser#684 ·
-
bug
Difficulty 4/5 3-5 days Newbie friendliness 68/100
Altinity/altinity-sql-browser#680 · 2 comments ·
All issues in Altinity/altinity-sql-browser
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
safetrustcr/dApp-SafeTrust#426 ·
-
area:workflow bug ready-for-agent
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
fil-donadoni/tolaria#4409 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Fission-AI/OpenSpec#1960 ·
-
Add dependabot Open
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
corsairdev/corsair#1764 ·