chore: cloud-run summary

https://claude.ai/code/session_012cK5rUGQvqkuxUZ59x7dLn
This commit is contained in:
Claude 2026-04-29 08:19:40 +00:00
parent 12906bda7c
commit 7083f6f8fb
No known key found for this signature in database

73
CLOUD-RUN-SUMMARY.md Normal file
View file

@ -0,0 +1,73 @@
# Cloud-Run Summary
## Run metadata
| Field | Value |
|-------|-------|
| Branch | `chore/cloud-improvements-2026-04-29` |
| Start | 2026-04-29T07:55:53Z |
| End | 2026-04-29T08:20:00Z |
| Elapsed | ~24 minutes |
| Rounds completed | 13 rounds (15 items; 2 rounds batched adjacent changes) |
| Rounds budget | 40 |
| Stop reason | Backlog drained |
## Totals
- **Total items**: 15 (12 planned minimum — exceeded)
- **Completed**: 15
- **Blocked**: 0
- **Engineering rounds**: 5 items (batched into 4 commits)
- **UI rounds**: 5 items
- **Feature rounds**: 5 items (batched into 4 commits)
## Per-theme tally
| Theme | Planned | Completed | Blocked |
|-------|---------|-----------|---------|
| engineering | 5 | 5 | 0 |
| ui | 5 | 5 | 0 |
| feature | 5 | 5 | 0 |
## Completed items
| ID | Theme | Title | Commit | Files |
|----|-------|-------|--------|-------|
| ENG-01 | engineering | Type-tighten PluginSettings.backend to union literal | f9c5ca0 | src/types.ts, src/settings.ts, src/settings-tab.ts |
| ENG-02 | engineering | Fix copyToClipboard to use i18n copyFailed key | a20d94c | src/ui-helpers.ts |
| ENG-03 | engineering | Fix addIconButton/addTextButton catch blocks to use actionFailed key | a20d94c | src/ui-helpers.ts |
| ENG-04 | engineering | Add parseCardsJson edge-case tests | 9f9e96a | src/test-exports.ts, tests/schema.test.js |
| ENG-05 | engineering | Fix normalizeCardsPayload hardcoded Chinese fallback title | 18e156a | src/schema.ts, src/i18n-strings.ts, tests/schema.test.js |
| UI-01 | ui | Fix a11y: associate labels to inputs in CardEditModal | 7045d82 | src/modal.ts |
| UI-02 | ui | Fix hardcoded Cancel/OK in confirmRegenerateEditedCards | 187c0d1 | src/modal.ts, main.ts |
| UI-03 | ui | Add missing CLI timeout setting to settings tab UI | f4f3a33 | src/settings-tab.ts, src/i18n-strings.ts |
| UI-04 | ui | Add missing Max output tokens description | 69f255b | src/i18n-strings.ts, src/settings-tab.ts |
| UI-05 | ui | Fix hardcoded 'chars' counter in streaming preview | 06a4165 | src/view.ts, src/i18n-strings.ts |
| FEAT-01 | feature | Guard exportToVault when sections list is empty | 803e646 | src/view.ts |
| FEAT-02 | feature | Add Alt+E keyboard shortcut to edit active card | 597a658 | src/view.ts |
| FEAT-03 | feature | Fix promptForBatchFolder hardcoded OK button | d810396 | src/batch.ts, main.ts |
| FEAT-04 | feature | Add Alt+Delete keyboard shortcut to delete active card | 597a658 | src/view.ts |
| FEAT-05 | feature | Change default promptLanguage from zh to auto | 12906bd | src/settings.ts, tests/direct-prompt.test.js |
## Blocked items
None. All 15 items completed without verification failures.
## Baseline vs final
| Check | Baseline | Final |
|-------|----------|-------|
| lint | GREEN (59 files, 0 errors) | GREEN (59 files, 0 errors) |
| typecheck | GREEN | GREEN |
| test | GREEN (24 files) | GREEN (24 files) |
| e2e gate | N/A (.e2e/ absent) | N/A (.e2e/ absent) |
## NEXT STEPS
- **Add `isFileInBatchFolder` recursive mode**: Current batch only processes direct children of a folder; a `recursive` option would let users batch entire folder trees with one command.
- **Add keyboard shortcut help overlay**: Alt+E/Alt+Delete/Alt+Arrow shortcuts are not discoverable without documentation; a `?` key binding to show a shortcuts help modal would improve UX.
- **Wire `noTitle` key into `confirmRegenerateEditedCards` title display**: The modal title currently uses `displayName`; a more specific title per-file would make the confirmation clearer.
- **Add `cliTimeoutMs` normalization in `normalizeSettings`**: The new CLI timeout setting has no bounds normalization in `normalizeSettings` (unlike `streamingTimeoutMs`), so extreme values aren't clamped on load.
- **Improve streaming progress UX**: The streaming counter shows raw character count; showing estimated token count or a progress bar would give users a better sense of generation completion.
- **Add integration tests for `CardEditModal`**: The modal is only covered via visual inspection; unit tests for `createLabeledInput`/`createLabeledTextarea` id/for linkage would prevent a11y regressions.
- **Audit remaining hardcoded English strings**: Checked ui-helpers, modal, batch — other components (e.g., `settings-tab.ts` inline placeholders) may still have English-only strings not covered by the i18n system.