feat: add LexAI status bar and suggestion panel
Some checks failed
CI — Test & Build / Test & Build (push) Has been cancelled

- Implemented a status bar item for LexAI with dynamic status updates (ready, processing, notReady).
- Created a suggestion panel for displaying and interacting with AI-generated suggestions.
- Added functionality for accepting, regenerating, and discarding suggestions within the suggestion zone.
- Introduced configuration options for writing style, prompt patterns, personas, and formats.
- Integrated progress indicators for long-running tasks and improved user feedback.
- Established TypeScript configuration for the vscode package.
This commit is contained in:
john kevin asprec
2026-08-13 18:06:45 +08:00
parent fc19ead0a7
commit 8bc529ef2d
84 changed files with 10025 additions and 662 deletions

View File

@@ -1,53 +1,23 @@
# Project evaluations — LexAI
# Project evaluations
> Small, repeatable checks. Prefer a deterministic command or test over a prose reminder. The standing checks below are the baseline gates for any change.
## Standing gates (run on every change)
### E-BASE-01 — Typecheck
- **How to run:** `npm run typecheck`
- **Pass condition:** `tsc --noEmit` exits 0.
- **Cost:** fast.
### E-BASE-02 — Unit tests
- **How to run:** `npm test -- --run`
- **Pass condition:** vitest exits 0.
- **Note:** current unit tests exercise the `chrome.storage` mock, not the real handlers — passing does **not** prove provider routing or key decrypt. See TASKS #8.
### E-BASE-03 — Production build
- **How to run:** `npm run build`
- **Pass condition:** builds to `.output/chrome-mv3/`; bundle roughly ~166 KB baseline.
- **Cost:** fast (~3s).
### E-BASE-04 — Manual real-page check (behavior changes)
- **How to run:** `npm run build` → load unpacked `.output/chrome-mv3` → select text on a textarea and a contenteditable site → run an action → Replace.
- **Pass condition:** toolbar shows, result modal returns, Replace edits both target types.
- **Why manual:** selection/replace is DOM-timing-sensitive and has no automated coverage.
This file contains small, repeatable checks derived from verified failures. Prefer a deterministic command, test, assertion, lint rule, schema check, or review checklist over a prose-only reminder.
## Active failure-derived checks
### E-RELEASE-01 — CHANGELOG version match and spot-check
- **Prevents:** L-RELEASE-01 — false release notes shipped to CWS
- **How to run:** (1) Extract version from `package.json` (e.g., `jq -r .version package.json`). (2) Grep for `## [version]` in `CHANGELOG.md`. (3) Pick 23 user-visible claims (feature name, behavior, action added) and verify against `git log --oneline` or the code (`src/lib/actions.ts`, `entrypoints/*/`).
- **Pass condition:** (1) CHANGELOG has a section header matching the version; (2) each spot-checked claim is present in code or the latest commit subject(s) describe that feature being added.
- **Cost:** fast (~2 min).
- **When to run:** before `git tag v*.*.*`.
- **Last verified:** 2026-08-12 (caught two false claims in v1.1.0 prep).
_No failure-derived checks yet._
## Eval template
```markdown
### E-YYYY-MM-DD-NN — [short check name]
- **Prevents:** [lesson ID and failure mode]
- **Type:** automated test | command | lint/schema rule | manual checklist
- **How to run:** `[exact command or steps]`
- **Pass condition:** [observable]
- **Cost:** fast | moderate | expensive
- **Last verified:** [date + result]
- **Pass condition:** [observable condition]
- **Failure signal:** [what indicates recurrence]
- **Cost:** [fast / moderate / expensive]
- **Last verified:** [date and result]
```
## Retired checks